/etc/passwd 구조
쉽게 말하면
리눅스에 어떤 사용자가 있는지 적어 둔 명부 파일이에요. 한 줄에 한 사람씩, 이름·번호·소속 그룹·개인 폴더 위치·처음 실행할 명령 창 같은 정보가 콜론(:)으로 나뉘어 있어요. 누구나 읽을 수 있어서 비밀번호는 여기 두지 않고 x라고만 써 둬요.
시험용 정의
/etc/passwd는 사용자 계정 정보를 담은 텍스트 파일이다. 한 줄에 한 계정, 콜론(:)으로 구분한 7개 필드로 되어 있다.
비유로 이해하기
회사의 사원 명부다. 이름·사번·부서·자리·업무 도구가 적혀 있고 누구나 볼 수 있지만, 금고 비밀번호(암호)는 따로 보관(shadow)한다.
자세히
그림으로 보기: /etc/passwd 한 줄
7개 필드
| 순서 | 필드 | 설명 |
|---|---|---|
| 1 | 사용자 이름 | 로그인 이름 |
| 2 | 비밀번호 | x (shadow에 있음) |
| 3 | UID | 사용자 번호. 0 = root |
| 4 | GID | 기본(주) 그룹 번호 |
| 5 | GECOS (설명) | 실명·연락처 등. 비어도 됨 |
| 6 | 홈 디렉터리 | 로그인 시 처음 위치 |
| 7 | 로그인 셸 | /bin/bash 등. /sbin/nologin이면 로그인 불가 |
UID 범위
| 0 | root (슈퍼유저). 이름이 달라도 UID가 0이면 root 권한 |
| 1 ~ 999 (RHEL 7+·Debian) / 1 ~ 499 (옛 RHEL) | 시스템 계정 (데몬용: bin, daemon, sshd…) |
| 1000 이상 (옛 RHEL 500 이상) | 일반 사용자 |
로그인 막기
서비스용 계정은 셸을 /sbin/nologin이나 /bin/false로 두어 로그인할 수 없게 한다. nologin은 "This account is currently not available" 메시지를 보여 준다. 사용 가능한 셸 목록은 /etc/shells.
시험에 이렇게 나와요
- /etc/passwd 7필드: 사용자명:x:UID:GID:설명:홈:셸
- 마지막 필드 = 로그인 셸, root UID는 0
1차 출제기준 · 공개 기출 없음
확인 문제
Q1. /etc/passwd 한 줄 kim:x:1001:1001::/home/kim:/bin/bash에서 두 번째 칸의 x는 무슨 뜻일까?
- 비밀번호가 /etc/shadow에 따로 저장되어 있음
- 비밀번호가 없음
- 계정이 잠김
- 관리자 계정
정답 보기
1번 비밀번호가 /etc/shadow에 따로 저장되어 있음
/etc/passwd는 누구나 읽을 수 있는 파일이라 비밀번호를 여기 두면 위험하다. 그래서 실제 암호(해시)는 root만 읽는 /etc/shadow에 두고, passwd의 비밀번호 칸에는 x만 남긴다.
Q2. /etc/passwd의 필드 개수는?
- 5개
- 6개
- 7개
- 9개
정답 보기
3번 7개
7개. /etc/shadow는 9개.
Q3. /etc/passwd에서 UID가 0인 계정의 의미는?
- 잠긴 계정
- 관리자(root) 권한 계정
- 게스트 계정
- 시스템 계정
정답 보기
2번 관리자(root) 권한 계정
관리자(root) 권한 계정이다. 이름이 root가 아니어도 UID가 0이면 root 권한을 가진다.
Q4. /etc/passwd의 여섯 번째 필드는?
- 로그인 셸
- 설명
- GID
- 홈 디렉터리
정답 보기
4번 홈 디렉터리
홈 디렉터리다. 필드는 이름:비밀번호:UID:GID:설명:홈 디렉터리:로그인 셸 순서라 6번째가 홈, 7번째가 셸이다.
헷갈리기 쉬운 O·X
/etc/passwd에는 사용자의 암호화된 비밀번호가 저장된다.
정답 보기
X x만 있고 실제 해시는 /etc/shadow.
로그인 셸이 /sbin/nologin인 계정은 셸로 로그인할 수 없다.
정답 보기
O 맞는 설명이다.
/etc/passwd는 root만 읽을 수 있다.
정답 보기
X 누구나 읽을 수 있다(644). 그래서 암호를 shadow로 분리했다.