공든탑앱 열기

/etc/passwd 구조

리눅스마스터 2급 · 기본 명령어 · 약 10분

쉽게 말하면

리눅스에 어떤 사용자가 있는지 적어 둔 명부 파일이에요. 한 줄에 한 사람씩, 이름·번호·소속 그룹·개인 폴더 위치·처음 실행할 명령 창 같은 정보가 콜론(:)으로 나뉘어 있어요. 누구나 읽을 수 있어서 비밀번호는 여기 두지 않고 x라고만 써 둬요.

시험용 정의

/etc/passwd는 사용자 계정 정보를 담은 텍스트 파일이다. 한 줄에 한 계정, 콜론(:)으로 구분한 7개 필드로 되어 있다.

비유로 이해하기

회사의 사원 명부다. 이름·사번·부서·자리·업무 도구가 적혀 있고 누구나 볼 수 있지만, 금고 비밀번호(암호)는 따로 보관(shadow)한다.

자세히

그림으로 보기: /etc/passwd 한 줄

kim:x:1001:1001:Kim:/home/kim:/bin/bash
kim
1 이름
x
2 비밀번호
1001
3 UID
1001
4 GID
Kim
5 설명
/home/kim
6 홈
/bin/bash
7 셸
콜론(:)으로 나눈 7칸이다. 비밀번호 칸의 x는 진짜 해시가 /etc/shadow에 있다는 표시다

7개 필드

순서필드설명
1사용자 이름로그인 이름
2비밀번호x (shadow에 있음)
3UID사용자 번호. 0 = root
4GID기본(주) 그룹 번호
5GECOS (설명)실명·연락처 등. 비어도 됨
6홈 디렉터리로그인 시 처음 위치
7로그인 셸/bin/bash 등. /sbin/nologin이면 로그인 불가

UID 범위

0root (슈퍼유저). 이름이 달라도 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.

시험에 이렇게 나와요

1차 출제기준 · 공개 기출 없음

확인 문제

Q1. /etc/passwd 한 줄 kim:x:1001:1001::/home/kim:/bin/bash에서 두 번째 칸의 x는 무슨 뜻일까?

  1. 비밀번호가 /etc/shadow에 따로 저장되어 있음
  2. 비밀번호가 없음
  3. 계정이 잠김
  4. 관리자 계정
정답 보기

1번 비밀번호가 /etc/shadow에 따로 저장되어 있음

/etc/passwd는 누구나 읽을 수 있는 파일이라 비밀번호를 여기 두면 위험하다. 그래서 실제 암호(해시)는 root만 읽는 /etc/shadow에 두고, passwd의 비밀번호 칸에는 x만 남긴다.

Q2. /etc/passwd의 필드 개수는?

  1. 5개
  2. 6개
  3. 7개
  4. 9개
정답 보기

3번 7개

7개. /etc/shadow는 9개.

Q3. /etc/passwd에서 UID가 0인 계정의 의미는?

  1. 잠긴 계정
  2. 관리자(root) 권한 계정
  3. 게스트 계정
  4. 시스템 계정
정답 보기

2번 관리자(root) 권한 계정

관리자(root) 권한 계정이다. 이름이 root가 아니어도 UID가 0이면 root 권한을 가진다.

Q4. /etc/passwd의 여섯 번째 필드는?

  1. 로그인 셸
  2. 설명
  3. GID
  4. 홈 디렉터리
정답 보기

4번 홈 디렉터리

홈 디렉터리다. 필드는 이름:비밀번호:UID:GID:설명:홈 디렉터리:로그인 셸 순서라 6번째가 홈, 7번째가 셸이다.

헷갈리기 쉬운 O·X

/etc/passwd에는 사용자의 암호화된 비밀번호가 저장된다.

정답 보기

X x만 있고 실제 해시는 /etc/shadow.

로그인 셸이 /sbin/nologin인 계정은 셸로 로그인할 수 없다.

정답 보기

O 맞는 설명이다.

/etc/passwd는 root만 읽을 수 있다.

정답 보기

X 누구나 읽을 수 있다(644). 그래서 암호를 shadow로 분리했다.

함께 보면 좋은 개념