본문 바로가기

리눅스

우분투 24.04에서 PAM 기반 비밀번호 유효성 제한 및 계정 정책 설정

반응형

우분투 24.04에서 PAM 기반 비밀번호 유효성 제한 및 계정 정책 설정

설정 파일 백업

sudo cp /etc/login.defs /etc/login.defs_$(date '+%Y%m%d-%H%M%S')

기본값 확인

sudo cat /etc/login.defs | egrep '^PASS_MAX_DAYS|^PASS_MIN_DAYS|^PASS_WARN_AGE'
PASS_MAX_DAYS   99999
PASS_MIN_DAYS   0
PASS_WARN_AGE   7

/etc/login.defs 기본값 확인

/etc/login.defs는 신규 사용자 계정 생성 시 적용되는 기본 정책입니다.

 

비밀번호 최대 사용 가능 기간(180일)

sudo sed -i 's/PASS_MAX_DAYS\t[0-9]*/PASS_MAX_DAYS\t180/' /etc/login.defs

비밀번호 최소 변경 불가 기간(1일)

sudo sed -i 's/PASS_MIN_DAYS\t[0-9]*/PASS_MIN_DAYS\t1/' /etc/login.defs

비밀번호 만료 경고 시작일(14일 전)

sudo sed -i 's/PASS_WARN_AGE\t[0-9]*/PASS_WARN_AGE\t14/' /etc/login.defs

수정 후 확인

sudo cat /etc/login.defs | egrep '^PASS_MAX_DAYS|^PASS_MIN_DAYS|^PASS_MIN_LEN'

일반 사용자 계정에 정책 적용

useradd로 신규 계정을 생성하면 /etc/login.defs 정책이 적용됩니다.

 

비밀번호 최대 사용 가능 기간(180일)

sudo chage -M 180 <사용자 이름>
sudo chage -M 180 user01

비밀번호 최소 변경 불가 기간(1일)

sudo chage -m 1 <사용자 이름>
sudo chage -m 1 user01

비밀번호 만료 경고 시작일(14일 전)

sudo chage -W 7 <사용자 이름>
sudo chage -W 7 user01

수정 후 확인

sudo chage -l user01
Last password change                                    : Aug 19, 2025
Password expires                                        : Feb 15, 2026
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 1
Maximum number of days between password change          : 180
Number of days of warning before password expires       : 7

일반 사용자(user01)에 정책 적용

sudo chage -M 180 -m 1 -W 7 user01

서비스 계정 제외

서비스 계정은 주기적인 비밀번호 변경이 불필요하므로 만료 정책을 해제합니다.

$ sudo chage -l service01
Last password change                                    : Aug 19, 2025
Password expires                                        : Feb 15, 2026
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 1
Maximum number of days between password change          : 180
Number of days of warning before password expires       : 14

비밀번호 만료(Maximum days between password change) 정책을 해제

sudo chage -M -1 <서비스 계정명>
sudo chage -M -1 service01
$ sudo chage -l service01
Last password change                                    : Aug 19, 2025
Password expires                                        : never
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 1
Maximum number of days between password change          : -1
Number of days of warning before password expires       : 14
  • 해당 계정은 비밀번호가 만료되지 않음을 의미합니다.

 

728x90
반응형