본문 바로가기
Linux/CentOS 7

[CentOS 7] Linux passwd 파일과 shadow 파일

by 인성패밀리 2021. 1. 18.
반응형

실습 환경은 CentOS 7 버전입니다.
VMware에 Linux를 부팅시키고 putty를 이용하여 접속하였습니다.
'#> [명령어]' // [주석]
[]안의 부분만 보시면 됩니다.
'#'은 관리자, '$'는 유저입니다.

 

※경고!※

별 대수롭지 않을수도 있지만 민감한 내용이 있습니다.

아래의 실습은 반드시 본인이 설치한 리눅스에서 실습하시길 바랍니다.

공부 목적으로만 이용해주시고 어디가서 잘못써먹으면

정보보호 관련 법에 걸립니다.

---------------------------------------------------------------------------

 

지난 번 유저 생성과 삭제에 관해서 실습해보았습니다.

 

[Linux 명령어] 유저 생성과 삭제 (useradd, userdel 명령어 그리고 passwd 명령어)

실습 환경은 CentOS 7 버전입니다. VMware에 Linux를 부팅시키고 putty를 이용하여 접속하였습니다. '#> [명령어]' // [주석] []안의 부분만 보시면 됩니다. '#'은 관리자, '$'는 유저입니다. -..

c-i-s.tistory.com

 

이번에는 생성된 유저가 어디에 기록이 되는지 살펴보겠습니다.

 

passwd파일과 shadow파일에 기록이 되는데 각각 파일의 기능은 다음과 같습니다.

passwd : 유저의 정보를 기록

shadow : 유저의 비밀번호(password)에 관한 정보

 

passwd 안의 내용을 새로 생성하는 test0118로 예를 들어보겠습니다.

 

'#> useradd test0118'

'#> cat /etc/passwd' // passwd의 경로입니다.

'#> cat /etc/shadow' // shadow의 경로입니다.

 

shadow는 root만이 접근할 수 있습니다!

 

유저를 생성하고 바로 파일을 보았습니다.

passwd 파일
shadow 파일

 

공통적으로 각 필드는 ':'으로 구분합니다.

 

먼저 passwd 파일의 내용을 순서대로 살펴보겠습니다.

test0118 = 생성한 유저 이름

x = 비밀번호를 나타냅니다. 이것의 관한 정보는 /etc/shadow파일에 있습니다.

1002 = 유저 ID

1002 = 그룹 ID

(null) = 사용자 설명, 일반적으로 사용자 이름으로 기록 (useradd의 -c 옵션으로 생성시 기록이 가능합니다.)

/home/test0118 = 사용자의 홈 디렉터리

/bin/bash = 로그인 쉘 입니다. passwd 파일을 보면 '/sbin/nologin'도 보이는데 이거는 로그인이 불필요해서 금지 당한것입니다.

 

이때 root쪽을 보시면 유저 ID와 그룹 ID가 0인것을 볼 수 있습니다.

권한이 여기서 나오게 됩니다.

단순히 root만을 보고 권한을 결정하는 것이 아니기때문입니다.

 

다음은 shadow 파일의 내용입니다.

test0118 = 사용자 이름

!! = 패스워드 필드입니다. 이것에 관하여 아래에 자세히 설명하겠습니다.

18645 = 마지막으로 패스워드를 변경한 일 수

0 = 패드워드 최소 변경일 수

99999 = 패드워드 최대 변경일 수 99999는 무제한이라고 보시면 됩니다. 이 기간동안만 패드워드를 사용할 수 있습니다.

7 = 패드워드 사용기간이 7일 남았다고 경고해 줍니다.

(null) = 사용자 계정 비활성화 일 수, 이 기간 비밀번호를 변경하지 않으면 잠기게 됩니다.

(null) = 사용자 계정 만료 일 수

 

shadow 파일의 패스워드 필드에 대해서 알아보겠습니다.

총 4가지 경우가 있습니다.

null = 패스워드가 없는 계정입니다.

* = 패드워드 잠김 상태입니다. 정상적인 로그인은 안되지만 다른 인증방식으로 로그인이 가능합니다.

!! = '*' 과 마찬가지로 패스워드가 잠긴 상태입니다. 하지만 모든 로그인이 가능하지 않습니다. 일반적으로 계정을 새로 생성하고 비밀번호를 생성하지 않으면 이렇게 됩니다.

이상한 긴~ 문자들 = 암호화된 패스워드 입니다. 일방향 해시 함수로 이루어져 있습니다.

 

 

긴 글 읽어주셔서 감사합니다.
오류나 틀린부분이 있으시면 댓글로 남겨주시면 감사하겠습니다.
여러분들과 같이 공부하는 공간이 되었으면 좋겠습니다.

반응형

댓글