리눅스 시스템의 디렉터리 구조는 계층형 파일시스템으로 이루어져 있습니다.
특히 /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) 사용되지 않음
감사합니다.
'시스템(Linux)' 카테고리의 다른 글
TCP Dump 에 대해 알아보도록 하겠습니다. (2) | 2022.12.23 |
---|---|
리눅스 시스템보안에 대해 알아보겠습니다. (0) | 2022.12.19 |
리눅스(linux) hostname 변경 방법 (CentOS 6, 7) (0) | 2022.11.29 |
IPTABLES 에 대해 알아보겠습니다. (0) | 2022.11.28 |
TCP Wrapper 란? (0) | 2022.11.25 |