개발 창고/Server

[Linux] How to manage account password maturity information

로이제로 2023. 11. 6. 22:00
반응형

 

How to manage account password maturity information

  이 전 글들에서 사용자 계정 정보를 관리하거나 비밀번호 설정, 최소, 최대 기간 등등을 설정하는 방법에 대해 확인해보았습니다. 이번 글에서는 계정의 만기 정보 만을 좀 더 집중적으로 관리하는 명령어에 대해 이야기해볼까 합니다.

 

chage

  • 계정 패스워드 만기 정보를 변경 및 설정하는 명령어
  • 시스템에게 로그인한 계정의 패스워드를 변경해야 하는지 알려줌
  • 시스템 관리 명령어이므로 관리자(root)을 가진 사용자만 사용 가능

chage --help 결과

주요 옵션 내용
-l --list 선택된 계정의 패스워드 정책 정보 확인
-d --lastday 마지막 패스워드 수정 일 변경. 형식은 YYYY-MM-DD 또는 1970년 1월 1일 기준 경과 일 수로 지정
-E --expireddate 계정 패스워드 만료 일 지정
-m --mindays 패스워드 최소 사용 일 수. 마지막 패스워드 변경일 기준 패스워드 변경 불가 일 수
-M --maxdays 패스워드 최대 사용 일 수. 마지막 패스워드 변경일 기준 패스워드 사용 가능 일 수
-I --inactive 패스워드 만료 유예 일 수. 만료일 기준 계정 비활성 이전 까지 일 수
-W --warndays 패스워드 만료 경고 일 수. 만료일 기준 이전 경고 시작 일 수

 

사용 예시

▶︎ 선택된 계정의 패스워드 정책 확인

chage -l <계정>
# user2의 패스워드 정책 정보 확인
$> sudo chage -l user2

sudo chage -l user2 결과

 

▶︎ 마지막 변경일 변경

chage -d <날짜> <계정>
# user2의 변경 전 정책 정보 확인
$> sudo chage -l user2

# user2의 마지막 패스워드 변경일 변경
$> sudo chage -d 2023-10-01

# user2의 변경 후 정책 정보 확인
$> sudo chage -l user2

user2의 비밀번호 마지막 변경 일이 2023년 10월 8일에서 2023년 10월 1일로 변경 됨

 

▶︎ 계정 만기일 지정

chage -E <날짜> <계정>
# user2의 현재 패스워드 만기일 확인
$> sudo chage -l user2

# user2의 패스워드 만기일을 2023년 10월 31일로 지정
$> sudo chage -E 2023-10-31 suer2

# user2의 패스워드 만기일 변경 확인
$> sudo chage -l user2

user2의 패스워드 만기 일이 2023년 10월 9일에서 2023년 10월 31일로 변경 됨

 

▶︎ 패스워드 최소 사용일 수 (의무 사용일 수) 변경

chage -m <일 수> <계정>
# user2의 현재 패스워드 의무 사용일 수 확인
$> sudo chage -l user2

# user2의 패스워드 의무 사용일 수를 10일로 변경
$> sudo chage -m 10 user2

# user2의 패스워드 의무 사용일 수 변경 확인
$> sudo chage -l user2

user2의 패스워드 의무 사용일수가 0일에서 10일로 변경 됨

 

▶︎ 패스워드 최대 사용일 수 변경

chage -M <일 수> <계정>
# user2의 현재 패스워드 최대 사용일 수 확인
$> sudo chage -l user2

# user2의 패스워드 최대 사용일 수를 365일로 변경
$> sudo chage -M 365 user2

#user2의 패스워드 최대 사용일 수 변경 확인
$> sudo chage -l user2

user2의 패스워드 최대 사용일수가 99999일에서 365일로 변경 됨

 

▶︎ 패스워드 만료일 기준 비활성 유예일 수 변경

chage -I <일 수> <계정>
# user2의 현재 비활성 유예일자 확인
$> sudo chage -l user2

# 비활성 유예 일자를 14일 이전으로 변경
$> sudo chage -I 14 user2

# user2의 비활성 유예일자 변경 확인 
$> sudo chage -l user2

user2의 패스워드 최대 사용일수가 99999일에서 365일로 변경 됨

 

▶︎ 패스워드 만료 전 경고 메시지 발송 시작 일자

chage -W <일 수> <계정>
# user2의 현재 경고 메시지 발송 일 수 확인
$> sudo chage -l user2

# user2의 패스워드 만료 경고 메시지를 14일 전부터 발송되도록 변경
$> sudo chage -W 14 user2

# user2의 경고 메시지 발송 일 수 변경 확인 
$> sudo chage -l user2

패스워드 만료 경고 시작 일이 7일 전에서 14일 전으로 변경 됨

 

전체 결과

 예시 순서대로 변경 시 결과는 아래 명령을 통해서도 확인 가능합니다.

$> sudo grep user2 /etc/shadow
user2:!:19631:10:365:14:14:19661:

콜른(:)으로 구분되어지며, 총 9개의 필드로 구성되어집니다.

 

순번 예시 내용 chage 옵션
1 user2 계정  
2 ! 비밀번호. 느낌표(!)는 계정 생성 후 비밀번호가 생성되지 않음을 의미  
3 19631 패스워드 최종 수정 일 (1970년 1월 1일 기준 경과 일) -d
4 10 패스워드 의무 사용 일 수 -m
5 365 패스워드 최대 사용 일 수 -M
6 14 패스워드 만료 전 경고 알림 시작 일 수 -W
7 14 패스워드 만료 후 비활성 되기 전 기간 -I
8 19661 계정 만료일 (1970년 1월 1일 기준 경과 일) -E
9   예약 필드  
반응형