개요
리눅스 서버 보안의 기본인 사용자 계정 비밀번호 만료 주기와 계정 비활성화 정책을 chage 명령어로 직접 실습합니다. 테스트 계정을 생성하여 만료 정보 조회, 변경 주기 설정, 최초 로그인 시 강제 변경까지 단계별로 쉽게 익힐 수 있습니다.
1. 실습용 테스트 계정 생성 및 현재 비밀번호 만료 상태 확인 (chage -l)
chage 명령어 실습을 안전하게 진행하기 위해 실습용 계정 testuser가 없는 경우 새로 생성합니다.

생성한 testuser 계정에 초기 비밀번호를 설정하기 위해 chpasswd 명령어를 실행합니다.

chage 명령어는 사용자 계정의 비밀번호 만료 주기와 계정 유효 정책을 관리하는 도구입니다.-l 옵션을 사용하여 testuser 계정에 현재 설정된 비밀번호 만료일과 정책 정보를 확인합니다.
⚙️ [주요 옵션]
-l : 계정의 비밀번호 만료 및 에이징 설정 정보를 확인합니다.-m : 비밀번호를 변경한 후 다시 변경할 수 있을 때까지의 최소 일수를 설정합니다.-M : 비밀번호의 최대 유효 기간(사용 가능 일수)을 설정합니다.-W : 비밀번호 만료 전 사용자에게 사전 경고를 표시할 일수를 설정합니다.-I : 비밀번호 만료 후 계정이 비활성화되기까지의 유예 일수를 설정합니다.-E : 계정 자체가 완전히 만료되어 사용 불가능해지는 특정 날짜를 설정합니다.-d : 마지막으로 비밀번호를 변경한 날짜를 지정합니다.

2. 비밀번호 최소·최대 사용 기간 및 만료 경고 기간 설정 (-m, -M, -W)
testuser 계정에 대해 비밀번호 최소 사용 기간을 7일(-m 7), 최대 유효 기간을 90일(-M 90), 만료 사전 경고 기간을 14일(-W 14)로 지정하기 위해 chage 명령어를 실행합니다.
이를 통해 비밀번호의 빈번한 변경을 방지하고 정기적인 변경 주기를 강제할 수 있습니다.

-l 옵션을 사용하여 testuser 계정에 변경한 비밀번호 만료 정책이 올바르게 적용되었는지 확인합니다.
출력 결과를 통해 최소 변경 일수(7), 최대 사용 일수(90), 사전 경고 일수(14)와 함께 계산된 비밀번호 만료 예정일이 정상 반영된 것을 확인할 수 있습니다.

3. 계정 자체 만료일 및 비활성화 유예 기간 지정 (-E, -I)
testuser 계정의 만료일을 2026년 12월 31일(-E 2026-12-31)로 지정하고, 비밀번호 만료 후 비활성화 유예 기간을 7일(-I 7)로 설정하기 위해 chage 명령어를 실행합니다.
이를 통해 지정된 기한 이후 임시 계정의 접근을 자동으로 차단하고, 만료된 비밀번호 계정의 잠금 시점을 체계적으로 관리할 수 있습니다.

-l 옵션을 사용하여 testuser 계정에 변경된 만료 정책이 정상적으로 적용되었는지 확인합니다.
출력 결과에서 계정 만료일(Account expires : Dec 31, 2026)과 비밀번호 만료 후 비활성화 예정일(Password inactive : Jan 21, 2027)이 설정한 조건대로 정확히 반영된 것을 확인할 수 있습니다.

4. 최초 로그인 시 비밀번호 강제 변경 설정 및 실습 환경 정리 (-d 0)
testuser 계정의 마지막 비밀번호 변경일을 0(-d 0)으로 설정하여 다음 로그인 시 사용자가 반드시 비밀번호를 변경하도록 강제하기 위해 chage 명령어를 실행합니다.
이를 통해 관리자가 부여한 초기 임시 비밀번호의 보안 취약점을 방지하고 사용자의 즉각적인 비밀번호 갱신을 유도할 수 있습니다.

-l 옵션을 사용하여 testuser 계정에 적용된 정책 상태를 확인합니다.
출력 결과에서 마지막 비밀번호 변경일(Last password change)과 비밀번호 만료 예정일(Password expires) 항목이 password must be changed로 표시되어 다음 접속 시 비밀번호 변경이 강제됨을 확인할 수 있습니다.

실습에 사용한 testuser 계정과 홈 디렉터리를 시스템에서 완전히 삭제하여 실습 환경을 정리하기 위해 userdel -r 명령어를 실행합니다.

지금까지 리눅스 chage 명령어를 활용하여 계정의 비밀번호 만료 주기와 정책을 효율적으로 관리하는 방법을 살펴보았습니다.
주기적인 비밀번호 만료 정책을 적용하여 리눅스 서버의 보안을 한 단계 더 강화해 보시기 바랍니다.