정보보안(산업)기사

1일차: /etc/passwd, shadow 구조, chmod/umask 계산

mamdragors 2026. 2. 23. 07:59

오늘 학습하실 1일차: /etc/passwd, shadow 구조, chmod/umask 계산은 시스템 보안의 가장 기초이면서 실기 단답형으로 매우 자주 출제되는 부분입니다. 핵심 내용을 정리해 드립니다.

1. /etc/passwd 파일 구조

리눅스 계정 정보가 담긴 파일로, 각 필드는 콜론(:)으로 구분됩니다.

  • 형식: root : x : 0 : 0 : root : /root : /bin/bash
  • 의미: 사용자명 : 패스워드(x는 /etc/shadow에 저장됨) : UID : GID : 전체 이름(설명) : 홈 디렉터리 : 로그인 셸
  • 암기 포인트: UID가 0이면 관리자(root) 권한임을 의미합니다. 일반 사용자는 보통 1000번부터 시작합니다.

2. /etc/shadow 파일 구조

보안을 위해 비밀번호 암호화 해시값을 따로 저장하는 파일입니다. (root만 읽기 가능)

  • 형식: root : $6$round$... : 19000 : 0 : 99999 : 7 : : :
  • 암기 포인트:
    • $6$: SHA-512 암호화 알고리즘을 사용 중임을 뜻합니다. ($1$은 MD5, $5$는 SHA-256)
    • 최소/최대 사용 기간: 비밀번호를 변경해야 하는 주기를 설정합니다.
    • [user_account]: [encrypted_password]:[last_change]:[minlife]:[maxlife]:[warn]:[inactive]:[expires]
    • 계정명:암호화패스워드:마지막패스워드변경일:패스워드최소사용기간:패스워드최대사용기간:만료이전경고일수:만료이후잠기기전비활성일수:계정만료일
    • encrypted_password 필드는 $ID$Salt$encrypted_password 형식
    • ID는 암호화에 적용된 일방향 해시 알고리즘을 식별하기 위한 ID로 1:MD5, 2:Blowfish, 5:SHA-256, 6:SHA-512
    • 1970년 1월 1일을 기준으로 일수로 표시한다.

3. chmod (권한 설정)

파일이나 디렉터리의 읽기(r=4), 쓰기(w=2), 실행(x=1) 권한을 변경합니다.

  • 계산법: rwx r-x r-- → (4+2+1) (4+0+1) (4+0+0) = 754
  • 특수 권한 (SetUID/SetGID/Sticky Bit):
    • SetUID(4000): 실행하는 동안 파일 소유자 권한을 가짐 (예: 4755)
    • SetGID(2000): 실행하는 동안 그룹 소유자 권한을 가짐
    • Sticky Bit(1000): 공유 디렉터리에서 본인 파일만 삭제 가능 (예: /tmp)

4. umask (기본 생성 권한)

파일이나 디렉터리 생성 시 기본적으로 차단할 권한을 설정합니다.

  • 계산 공식: * 파일: 666 - umask = 생성 권한
    • 디렉터리: 777 - umask = 생성 권한
  • 예시: umask가 022일 때, 파일은 644(rw-r--r--), 디렉터리는 755(rwxr-xr-x)로 생성됩니다.

✍️ 오늘의 실전 연습:

  1. /etc/passwd 파일에서 UID 필드가 몇 번째인지 손으로 그려보세요.
  2. umask 027일 때 생성되는 파일의 권한을 숫자로 계산해 보세요.