1. /etc/passwd
1) 사용자의 패스워드뿐만 아니라 기타 사용자에 대한 정보가 들어있는 파일
2) 슈퍼유저만 수정할 수 있음.
3) /etc/passwd의 구성 : 아래와 같이 7개의 필드로 구성이 된다
• 7개의 필드: <로그인명> : <암호> : <UID> : <GID> : <정보> : <홈 디렉토리> : <사용하는 쉘>
• 각 필드는 “:”으로 구분된다.
• 로그인명, UID, GID, 홈 디렉토리는 반드시 있어야하는 필드이다.
※ Note 1: root 계정은 리눅스 시스템의 관리자이며 항상 UID 0이 할당
※ Note 2: 리눅스 시스템은 실제 사용자가 아닌 다양한 기능에 관련된 사용자 계정(시스템 계정)들을 만든다.
- 시스템 계정이란? 시스템에서 구동되는 서비스들이 시스템 자원에 접근하는 권한을 얻기 위해서 사용하는 특별한 계정
※ Note 3: /etc/passwd는 표준 텍스트 파일이지만, 파일이 손상될 경우, root 사용자까지 로그인을 할 수 없게 되는 상황이 일어날 수 있으므로, 리눅스 사용자 관리 유틸리티를 사용하는 것이 안전함.
ex)
vim /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
...
필드 | 설명 |
로그인 명 | • 로그인 시 사용자의 계정 |
암호 | • 새도우 패스워드를 이용하며 /etc/shadow와 연결됨 • “x”로 표시 - 비밀번호가 없다는 의미가 아님 • 해당필드가 공란이면 패스워드 없이 로그인할 수 있음 • 해당 필드에 임의의 문자를 삽입하면, 해당 유저는 로그인할 수 없음 (일반적으로 *를 추가한다고 한다) |
UID | • User ID (사용자번호) • 리눅스에서 미리 지정된 사용자번호 • UID의 숫자의 의미 1) 0 : root user 2) 1~ 100 : 시스템 관련 가상의 사용자와 예약된 사용자 3) 500 ~ : 일반적인 사용자 ※ UID가 0이면 root 권한을 가지므로 설정 시 주의할 것 ※ 리눅스에서는 시스템 계정을 위해서 500 이하의 UID를 유보해 둠 |
GID | • Group ID • 리눅스는 사용자이름/그룹이름으로 관리하기 보다는 사용자ID/그룹ID로 관리를 한다. |
정보 | • 일반적으로 이름이나 전화번호 등의 정보가 들어감 • 사용자의 계정에 관련된 설명 텍스트 (주석 필드) |
홈 디렉토리 | - 사용자가 로그인하면서 위치하게 되는 디렉토리 |
셀 | - 사용자가 사용할 수 있는 쉘을 지정하는 필드 |
2. /etc/shadow
1) 사용자의 패스워드, 패스워드의 유효기간 설정, 패스워드 잠금 등의 기능을 해당 파일에서 제공한다.
- 사용자의 패스워드를 해시 알고리즘으로 암호화한 값으로 저장함
- /etc/passwd 파일의 각 사용자들에 대한 암호 정보를 담고 있음
2) /etc/shadow는 총 9개의 필드로 구성이 되어있다
- <로그인명>:<암호화된 패스워드>:<패스워드를 최근 변경일자>:<①>:<②>:<③>
ex)
vim /etc/shadow
...
daemon:*:17953:0:99999:7:::
bin:*:17953:0:99999:7:::
sys:*:17953:0:99999:7:::
sync:*:17953:0:99999:7:::
...
필드 | 설명 |
로그인명 | - 로그인 시 사용자의 계정 |
암호 | - 암호화된 패스워드 ▪ 패스워드의 형식: $id$salt$hashed - $id: 암호화 알고리즘* - $salt: 암호화 해독을 어렵게 하기 위한 것 - $hased: 실제 사용자의 패스워드의 해쉬값 * 암호화 알고리즘 1) $1$ : MD5 2) $2a$ : Blowish 3) $2y$ : Browish 4) $5$ : SHA-256 6) $6$ : SHA-512 |
패스워드 변경일자 | - 패스워드의 최근 변경일자 - 1970년 1월1일을 기준으로 변경한 날짜까지의 일수 |
남은수 | - 패스워드를 변경할 수 있는 날짜까지의 남은 수 - 패스워드 변경 후 최소 유지해야하는 일 수 - 0이면 언제든지 변경가능 |
패스워드 유효기간 | - 패스워드를 바꿔야만 하는 날까지 남은수 - 해당 기간을 넘으면 패스워드를 변경해야 함 - 999999면 안바꿔도 됨 |
경고날짜 | - 패스워드가 만료되기 전에 경고하는 날 수 |
① | - 유효기간이 끝난 후 계정의 접속을 거부할때까지의 시간 |
② | - 계정의 접속이 거부된 후 지난 날짜 |
③ | - 해당 필드는 사용하지 않음 |
▣ /etc/group
1) 시스템의 그룹에 관한 정보가 들어있음:
▪ /etc/passwd에 기재되어있는 GID는 사용자의 주그룹을 의미하고, /etc/group은 사용자의 보조그룹에 대한 정보가 포함되어있음
2) /etc/group는 총 4개의 필드로 구성이 되어있다
- <그룹명>:<그룹 패스워드>:<GID>:<그룹에 포함된 계정 리스트>
'컴퓨터 & IT (Computer & IT) > Linux' 카테고리의 다른 글
[Linux] /etc/dhcp/dhcp.conf (/etc/dhcp.conf – redhat 계열) (0) | 2020.07.06 |
---|---|
[Linux] 마운트 (Mount) (0) | 2020.06.16 |
[Linux] DHCP (Dynamic host configuration protocol) (0) | 2020.06.09 |
[Linux] /etc/hosts (0) | 2020.06.09 |
[Linux] IP 주소 (0) | 2020.06.02 |
댓글