[리눅스] passwd와 shadow 파일 구조

Se2on

·

2021. 3. 22. 21:40

리눅스란?

1983년 리처드 스톨만이 개발한 GNU 운영체제이고, 1991년 10월에 정식 버전이 발표되었다.

또한 리눅스는 'Copyright'가 아닌 'Copyleft'로 누구나 무료로 사용할 수 있는 오픈 소스로 공개한 특징이 있다.

 

리눅스 프로젝트의 마스코트인 턱스(Tux)

 

리눅스의 사용자 계정 정보(/etc/passwd)와 패스워드를 담고 있는 파일(/etc/shadow)에 대해서 알아보고자 한다.


passwd 파일 구조

/etc/passwd 파일 구조

1 - 사용자 계정을 의미함(root = 최고 관리자)

2 - 패스워드가 암호화되어 shadow 파일에 저장되어 있음을 나타냄

3 - 사용자 번호(0 = 최고 관리자)

4 - 그룹 번호(0 = 루트 그룹)

5 - 실제 이름(시스템 설정에 영향을 끼치지 않음)

6 - 사용자의 홈 디렉토리 설정

      - 해당 예시에서는 root 계정으므로 홈 디렉토리가 /root로 구성되어 있음

      - 일반 사용자는 /home 디렉토리 하위에 위치함

7 - 사용자의 shell 정의

      - 기본 설정은 bash shell로 되어 있음


shadow 파일 구조

/etc/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 - 사용되지 않음