시스템(Linux)

/etc/passwd /etc/passwd 파일 구조와 의미에 대해 알아보겠습니다

forward error correction Circle 2022. 12. 7. 02:00
반응형

리눅스 시스템의 디렉터리 구조는 계층형 파일시스템으로 이루어져 있습니다.

특히 /etc 디렉터리는 환경설정에 관련된 파일을 가지고 있습니다.

환경설정에 관련된 파일은 사용자 패스워드 정보를 가지고 있는 passwd 파일, shadow 파일과 프로토콜 및 서비스 정보를 보유한 protocol, servies 파일 등이 있습니다.

 

사용자가 패스워드를 입력하면 리눅스는 /etc/passwd 파일에 있는 패스워드와 패스워드를 암호문(해시함수)으로 비교하고 해당 값이 같다면 로그인하는 구조입니다.

 

/etc/passwd 파일에는 해시로 암호화된 패스워드가 있지만, /etc/passwd에 패스워드를 저장하지 않고 /etc/shadow 파일에 패스워드를 저장할 수 있습니다.

 

Ⅰ. /etc/passwd

/etc/passwd 은 시스템에 로그인하는 사용자 계정을 관리하는 text 파일로

root 계정 뿐만 아니라 다른 계정에게도 읽기 권한이 있어 누구나 읽을 수 있지만, 수정은 root 만 가능

 

2) /etc/passwd 파일 구조

root : x   :  0   :  0 :  root : /root  : /bin/bash

 (1)    (2)   (3)    (4)   (5)       (6)         (7)

*각 필드의 구분자는 콜론(:)이며 각 필드는 다음과 같은 의미를 가지고 있습니다.

(1) 사용자 계정

(2) 사용자 암호가 들어갈 자리이지만, x로 되어있으면 /etc/shadow 파일에 패스워드가 저장됨

(3) 사용자 ID를 의미하며  0  일 경우 root 

(4) 사용자가 속한 Group id를 의미하여 0일 경우 root 그룹

(5) 사용자의 코멘트 정보를 적는 곳

(6) 사용자의 홈 디렉터리 정보

(7) 사용자가 기본으로 사용하는 Shell 정보

3) /etc/passwd  계정정보

 

Ⅱ. /etc/shadow

 /etc/shadow은 계정의 패스워드 정보와 계정의 만료기간, 비밀번호의 변경 일자 정보를 담고 있으며

루트 계정 이외의 계정은 읽을 수 없도록 설정되어 아무나 접근할 수 없다.

 
 

2) /etc/shadow 파일 구조

root:$6$F4qQarngViiB5Yc9$j4Qwu3mlpAjkbpUa3TL4I0UzwUbS6MY3P/57Wt2MO8w/9g4ibz4V64xFasa4S5Z6T0.Cii

(1)   (2)   

YYkYpsXavv2vOZ/:  :  0  :99999 :7 :    :    :

​                               (3) (4)    (5)     (6) (7) (8) (9)

*각 필드의 구분자는 콜론(:)이며 각 필드는 다음과 같은 의미를 가지고 있습니다.

 

(1) 사용자계정

(2) 패스워드를 암호화 시킨 값($~$~$~로 3개의 파트 : $id $salt $hashed 순서로 됨)

$ id : 해싱 알고리즘

$ salt : 해싱에 사용된 솔트(salt)값

$ hashed : 해싱된 비밀번호 값

(3) 1970년부터 1월 1일부터 패스워드가 수정된 날짜의 일수를 계산

(4) 패스워드 변경 전 최소 사용 기간

(5) 패스워드 변경 전 최대 사용 기간

(6) 패스워드 사용 만기일 전에 경고 메시지를 제공하는 일 수

(7) 로그인 접속차단 일 수

(8) 로그인 사용을 금지하는 일 수

(9) 사용되지 않음

 

감사합니다.

반응형