Linux 7 . shodow 분석

2024. 1. 31. 17:06Linux/CentOS7

3. /etc/shadow

ID:암호화된PW:GID:마지막으로PW를수정한날짜:PW최소사용일:PW최대사용일:경고메세지출력일:유예기간

:계정의 만료일:사용안함

 

shadow는

암호화된 패스워드와

패스워드 정책이 표시 되어있다.

실제로 확인해보면 굉장히 난해하게 느껴질 수도 있다.

a는 비밀번호를 설정했고 ,b는 비밀번호를 설정하지 않았다.

a,b 계정의 길이가 차이나는 이유는

암호설정의 유무다.

 

 

shadow 분석

 

a:$6$xoB2RWL0$jrsosZ3DAmPcFjjZ37PUXtgGns9GiFL6ieKNKjZbBYBo02gXWlKEbzZKhuXQu5KeZXN47GaYqYwUePTfOMNHO.:19763:0:99999:7:::

 

a

ID, 계정

 

:$6$xoB2RWL0$jrsosZ3DAmPcFjjZ37PUXtg...(생략)...UePTfOMNHO.

암호화된 패스워드 (SHA512 방식, /etc/login.defs에 설정되어 있음)

미설정시 !!로 표시


:19763

마지막으로 패스워드 수정한 날짜

(1970년 1월 1일 기준으로 19763일 뒤..)


:0

패스워드 최소 사용일 

(이 기간동안 패스워드 변경 불가)


:99999

패스워드 최대 사용일 

(99999 : 무제한)


:7

경고메세지 출력일

(만료 1주일전 출력된다는 의미)


:

유예기간
:

계정과 관련됨, 계정의 만료일
:

사용안하는 구간

 

 

chage

chage 명령어로 

사용자의 패스워드 만료 관련 정보를 

자세히 확인 및 변경할 수 있다.

 

마지막으로 암호를 바꾼 날 : 2월 10, 2024
암호 만료 :안함   > 암호 최대 일 수가 지정되지 않아서 지정안됨
암호가 비활성화 기간 :안함   > 암호 만료가 지정되지 않아서 지정 안됨
계정 만료 : 안함 > 별도로 지정되지 않아서 지정 안됨
암호를 바꿀 수 있는 최소 날 수 : 0
암호를 바꿔야 하는 최대 날 수 : 99999
암호 만료 예고를 하는 날 수 : 7

 

chage

옵션
-m  암호 최소 사용일
-M  암호 최대 사용일
-W  암호 만료 경고 표시일
-I    유예기간 
-E   계정만료

 

 

암호 최소 사용일

chage -m 4 a 로 a의

암호 최소 사용일을 4일로 지정

실제로 4일간 변경 불가능한지 확인해보자

실제로 변경할 수 없고

조금더 기다려 달라는 메세지가 출력된다.

date 명령어로 시간을 4일이상 지난 뒤로 설정해주자 (root권한필요)

 그 이후에는 암호 설정이 가능해졌다!

 

암호 최대 사용일

chage -M 30 a 명령어로

암호 최대 사용일 30일로 설정

위처럼 최대 사용일이 변경되고  

shadow도 제대로 변경됐다.

 

유예기간 까지  설정한 뒤에

로그인 테스트 해보자

경고메세지 출력일 (암호 만료 예고 날 수)

chage -W 5 a명령어로

만료 예고 날을 5일로 설정해보자

변경이 완료됐다.

 

이제 date 옵션으로

약 25~30일 후  날짜로 설정한 뒤에

a로 접속해보자

로그인 시

4일 뒤에 패스워드가 만료된다는

경고가 출력되고 있다.

 

유예기간 (암호 비활성화 기간)

chage -I 5 a 명령어로

유예기간을 5일로 설정

조금 헷갈릴 수도 있지만

암호 만료일인 03/11 의 5일 뒤인 

03/16 으로 잘 설정 됐다.

 

3월 15일로 날짜를 변경해서

로그인해보자

로그인하면 암호가 만료됐고

유예 기간 내에 로그인해서

지금 암호를 변경하면 다시 사용이 가능하다.

 

이처럼 비활성화 기간중 로그인하면 

암호를 바꿔서 연장이 가능하다

 

계정만료

chage -E 2024/03/21 a 명령어로

계정 만료일을 3/21로 설정

잘 변경됐다.

 

이상태에서

3월 18일로 날짜를 바꾸면

암호는 만료됐지만 계정은 만료되지 않는데

이 상태에선 어떻데 접속될 지 확인해보자

만료를 알리는 메세지가 뜨면서

시스템 관리자에게 연락하라는 알림이 뜨며

로그인 자체가 차단된다.

 

 

 

계정만료일은  3월 21일인데

암호의 만료일이 3월 31이라면??

이미 계정이 만료 됐기 때문에 

똑같이 접속이 불가하다.

.

.

.

암호의 만료일만 설정해도

어차피 쓰지 못하는데

계정의 만료일은 왜 있는걸까?

.

.

.

계정의 만료일의 효용성이

딱히 느껴지지 않는다..

 

계정의 만료일은 

기간이 정해져 있는 프로젝트에 투입되는

외부인력에게 설정할때 활용할 수 있다!

 

아무리 암호를 변경해도 일정 기간이 넘어가면

사용이 불가능 해지기에

필요한 기능이다.

 

 

 

 

유예 기간(비활성화기간)내에 암호 변경시 변화

유예기간인 3월 13일에 

접속해서 암호를 변경하면 사용이 가능하다고 했었다.

한번 테스트 해보자

비밀번호를 변경하면

자동으로 종료된다.

 

이제 chage -l a 로 확인해보자

3월 13일에 암호를 변경하자 

암호 만료, 유예기간도 같이

연장된 것을 알 수 있다.

(계정 만료일은 변함없다)

 

 

이상으로 shadow 분석을 마친다.