Notice
Recent Posts
Recent Comments
Link
반응형
관리 메뉴

고양이 집사의 IT 노트

[command] passwd, chage 명령어 본문

Programming/Linux

[command] passwd, chage 명령어

MAYSON 2026. 9. 30. 23:32
반응형

su/sudo 글에서 계정을 전환하고 권한을 다루는 방법을 다뤘다면, 이번에는 계정 자체의 비밀번호와 만료 정책을 관리하는 명령어를 살펴보겠습니다. 특히 보안 정책이 엄격한 금융권 환경에서는 비밀번호 주기적 변경이 필수인 경우가 많아, DB 서버를 운영하다 보면 한 번쯤은 마주치게 되는 명령어들입니다.

passwd (비밀번호 변경)

passwd는 계정의 비밀번호를 변경하는 명령어입니다.

# 사용법
passwd [사용자명]

# 현재 로그인된 계정의 비밀번호 변경
passwd

# 다른 사용자의 비밀번호 변경 (root 권한 필요)
passwd oracle

옵션 없이 passwd만 입력하면 현재 로그인된 계정의 비밀번호를 변경합니다. 본인 계정이 아닌 다른 계정의 비밀번호를 바꾸려면 root 권한이 필요합니다.

passwd 계정 잠금/해제 옵션

# -l : 계정 잠금 (로그인 불가능하게 만듦)
passwd -l oracle

# -u : 계정 잠금 해제
passwd -u oracle

# -S : 계정 상태 확인
passwd -S oracle
# 결과 예시: oracle PS 2026-09-20 0 99999 7 -1

-l, -u는 계정을 완전히 삭제하지 않고 일시적으로 로그인만 막고 싶을 때 사용합니다. 퇴사자 계정을 바로 삭제하기 애매한 상황이거나, 보안 이슈로 특정 계정을 임시로 비활성화해야 할 때 자주 쓰입니다.

chage (계정 만료 정책 확인/설정)

chage는 Change Age의 약자로, 비밀번호의 마지막 변경일, 만료 기간, 계정 자체의 만료일 등을 확인하고 설정하는 명령어입니다.

# 사용법
chage [옵션] [사용자명]

# 계정의 비밀번호 정책 정보 확인
chage -l oracle

# 결과 예시
Last password change                    : Sep 20, 2026
Password expires                        : Dec 19, 2026
Password inactive                       : never
Account expires                         : never
Minimum number of days between password change  : 0
Maximum number of days between password change  : 90
Number of days of warning before password expires  : 7

chage -l은 이 계정의 비밀번호가 언제 마지막으로 바뀌었는지, 언제 만료되는지, 만료 며칠 전부터 경고가 뜨는지를 한눈에 보여줍니다. 비밀번호 만료로 인해 갑자기 로그인이 안 되는 상황을 사전에 파악할 때 유용합니다.

chage 주요 옵션

# -M : 비밀번호 최대 사용 기간(일) 설정
chage -M 90 oracle

# -m : 비밀번호 최소 사용 기간(일) 설정 (변경 후 최소 며칠은 유지해야 함)
chage -m 0 oracle

# -W : 만료 며칠 전부터 경고 표시할지 설정
chage -W 7 oracle

# -E : 계정 자체의 만료일 설정 (YYYY-MM-DD)
chage -E 2026-12-31 oracle

# -E -1 : 계정 만료일 없음으로 설정
chage -E -1 oracle

-M 90으로 설정하면 90일마다 비밀번호를 변경해야 하는 정책이 적용됩니다. 보안 감사가 있는 환경에서는 이런 정책이 회사 규정으로 정해져 있는 경우가 많아, 신규 계정을 생성할 때 chage로 정책을 함께 맞춰주는 작업이 필요합니다.

실무에서 자주 마주치는 상황

DB 서버에 신규 계정을 생성하고, 회사 보안 정책에 맞춰 비밀번호 정책까지 설정하는 흐름은 다음과 같습니다.

# 1단계: 계정 생성 (계정 생성 자체는 useradd로 하며, 이 글에서는 다루지 않음)

# 2단계: 초기 비밀번호 설정
passwd oracle

# 3단계: 비밀번호 정책 설정 (90일마다 변경, 만료 7일 전 경고)
chage -M 90 -W 7 oracle

# 4단계: 설정이 잘 반영됐는지 확인
chage -l oracle

# 5단계: 계정 상태 종합 확인
passwd -S oracle
whoami

 

비밀번호 정책 설정을 놓치면, 어느 날 갑자기 비밀번호가 만료되어 배치 작업이나 자동화 스크립트가 로그인 실패로 멈추는 상황이 생길 수 있습니다. 특히 crontab이나 nohup으로 자동화해둔 작업이 계정 비밀번호에 의존하는 경우는 드물지만, 애플리케이션 계정이 DB 계정 비밀번호 만료로 인해 접속이 끊기는 사고는 실무에서 실제로 발생하는 문제라, chage -l로 만료일을 미리 확인해두는 습관이 중요합니다.

반응형

'Programming > Linux' 카테고리의 다른 글

[command] alias, .bashrc, .bash_profile  (1) 2026.10.02
[command] env, export 명령어  (0) 2026.10.01
[command] whoami, hostname, uname 명령어  (0) 2026.09.27
[command] date, cal 명령어  (0) 2026.09.26
[command] iostat, vmstat 명령어  (0) 2026.09.25
Comments