Github avatar

GyeongSu Han's Github Pages

Linux shadow파일

Jul 23, 2016 · Server

리눅스에는 shadow라는 파일이 존재한다.

root@ubuntu:~# ls -al /etc/shadow
-rw-r----- 1 root shadow 869 Mar 22 18:48 /etc/shadow

이 파일은 다음과 같은 구조로 이루어져있다.

root@ubuntu:~# cat /etc/shadow
root:!:16869:0:99999:7:::
... 여러 계정 정보 ...

①:②:③:④:⑤:⑥:⑦:⑧:⑨ 으로 이루어져있다. 각각 다음과 같은 정보를 가지고 있는다.

  • ① : 계정명
  • ② : 패스워드, !와 *, 그리고 암호화된 패스워드로 나타낸다. !와 *의 경우는 패스워드가 잠겨있음을 나타낸다. 직접적인 로그인은 불가능함을 나타낸다. 암호화된 방법은 4개정도로 나타낼 수 있는데, $1$, $2a$, $5$, $6$중 하나로 시작한다. 1의 경우는 md5, 2a는 Blowfish, 5는 SHA-256, 6의 경우는 SHA-512로 대응되어 암호화 된다. 이 외에도 여러 기법이 있을수 있지만, 대표적으로 위의 암호화를 사용한다.
  • ③ : 패스워드를 변경한 날짜, 1970년 1월 1일을 기준으로 카운트한다.
  • ④ : 패스워드를 재변경하기 까지 필요한 일수
  • ⑤ : 패스워드를 변경할 최대 일수, 이 기간이 지나면 계정로그인이 불가능하다.
  • ⑥ : 패스워드변경을 알려주기위한 기간, 변경을 해야함을 알려주는 기간이다.
  • ⑦ : 패스워드가 만료된 날
  • ⑧ : 계정사용이 만료된 날
  • ⑨ : 사용안함