PAM (Plaggable Authentication Module) 모듈을 사용해서 나머지 정책들도 설정
- retry=3
암호 입력을 횟수 3회로 설정- minlen=8
암호 최소 길이를 8로 설정- difok=3
기존 패스워드와 달라야 하는 문자의 수를 3으로 설정
위의 정책에서 수정 및 정책 추가를 하여 서브젝트의 요구사항을 만족시킨다.
()credit=N에서 N이 양수인지 음수인지에 따라 의미가 다름
- N이 양수
최대 N개 포함.
단 minlen(비밀번호의 최소 길이)가 정해진 경우 (minlen 값 + N) 만큼 포함할 수 있음)- N이 음수
최소 N개 포함
루트 계정 비밀번호 변경 시 이전 비밀번호를 물어보지 않음
따라서 이전 패스워드와의 유사도를 체크하지 않음
→ 서브젝트에서의 요구 사항을 예외처리 하지 않아도 자동적으로 적용 가능
기존에 존재하는 계정에는 변경된 정책이 반영되지 않음을 확인할 수 있다.
yeji라는 계정을 새로 만들고 chage -l yeji를 해보면
위와 같이 정해준 정책이 잘 반영되어 있음을 확인할 수 있다.
하지만 기존에 있던 계정인 yejikim의 암호 정보는
위와 같이 새로 정해진 정책이 아닌 이전 정책이 여전히 반영되고 있다는 것을 알 수 있다.
따라서 정책이 반영되기 이전 계정인 root와 yejikim 계정의 비밀번호 정책을 chage 명령어로 별도 반영한다.
서브젝트 요구사항에서는 -M, -m, -W 옵션을 요구하고 있으므로 이 옵션들을 반영시켜준다.
다시 확인해보면 yejikim과 root 계정에도 잘 반영이 되고 있음을 확인할 수 있다.
‼️ 동료 평가를 진행하며 알게된 것 ‼️
비밀번호 정책을 설정하기 위한 모듈 PAM에 내가 직접 설정하지 않은 기본적인 정책이 걸려있기도 하다.
평가를 진행하면서 내가 설정한 비밀번호 정책에 어긋나지 않는 Korea12345 로 비밀번호를 정하려고 했는데 불가능하다는 에러가 떠서 Fail을 받을 뻔했으나 🥲
https://unix.stackexchange.com/questions/121087/why-is-this-random-password-flagged-saying-it-is-too-simplistic-systematic
위의 link에서 알 수 있듯이 연속적인 알파벳이나 숫자에 제한이 기본적으로 걸려있다!!
참고 사이트