
[리눅스] passwd와 shadow 파일 구조
Se2on
·2021. 3. 22. 21:40
리눅스란?
1983년 리처드 스톨만이 개발한 GNU 운영체제이고, 1991년 10월에 정식 버전이 발표되었다.
또한 리눅스는 'Copyright'가 아닌 'Copyleft'로 누구나 무료로 사용할 수 있는 오픈 소스로 공개한 특징이 있다.
리눅스의 사용자 계정 정보(/etc/passwd)와 패스워드를 담고 있는 파일(/etc/shadow)에 대해서 알아보고자 한다.
passwd 파일 구조
1 - 사용자 계정을 의미함(root = 최고 관리자)
2 - 패스워드가 암호화되어 shadow 파일에 저장되어 있음을 나타냄
3 - 사용자 번호(0 = 최고 관리자)
4 - 그룹 번호(0 = 루트 그룹)
5 - 실제 이름(시스템 설정에 영향을 끼치지 않음)
6 - 사용자의 홈 디렉토리 설정
- 해당 예시에서는 root 계정으므로 홈 디렉토리가 /root로 구성되어 있음
- 일반 사용자는 /home 디렉토리 하위에 위치함
7 - 사용자의 shell 정의
- 기본 설정은 bash shell로 되어 있음
shadow 파일 구조
1 - 사용자 계정을 의미함(root = 최고 관리자)
2 - 암호화된 사용자의 패스워드 저장(시스템마다 조금씩 상이함)
- 시작하는 부분에 따라 어떠한 해시가 쓰였는지 알 수 있음(MD5, SHA256 등)
- MD5($1$), SHA256($5$), SHA512($6$)
- 해당 예시에서는 SHA512를 사용하고 있는 것을 알 수 있음
3 - 1970년 1월 1일부터 마지막으로 패스워드 변경한 날까지 계산한 값
- 예시에서는 1년전 패스워드를 마지막으로 변경했다는 것을 알 수 있음
4 - 패스워드 변경 전 패스워드 사용 기간
- 예시에서는 최초 설정 이후 패스워드를 변경하지 않았으므로 0으로 표시됨
5 - 패스워드를 바꾸지 않고 최대한 사용할 수 있는 기간
6 - 패스워드 최대 사용기간에 임박 전 패스워드 사용 기한 며칠 전에 경고를 보낼지 지정
7 - 로그인 접속차단 일 수
8 - 로그인 사용을 금지하는 일 수(월/일/연도)
9 - 사용되지 않음