이번 주는 리눅스 보안의 뼈대를 다뤘다. Day 1에서 계정이 네 파일의 레코드라는 것을, Day 2에서 그 레코드를 다루는 명령과 권한 상승(su/sudo)을, Day 3에서 권한의 산수(rwx·8진수·umask)를, Day 4에서 그 위에 얹는 특수 권한과 ACL을 배웠다. 오늘은 이 네 조각을 하나의 그림으로 잇고, 실기에서 자주 엮여 나오는 함정을 복습한 뒤 종합 문제로 점검한다.
핵심 통찰 하나만 가져가자: 리눅스의 모든 접근 제어는 "어느 파일의 몇 번째 필드/비트가 무엇인가"로 환원된다. 계정은 passwd/shadow의 필드, 권한은 9비트+특수 4비트, 세분화는 ACL 항목. 이 좌표계만 잡으면 어떤 변형 문제도 풀린다.
| 파일 | 권한 | 필드 수 | 핵심 필드 | 짝 |
|---|---|---|---|---|
| /etc/passwd | 644 | 7 | UID(3) · GID(4) · 홈(6) · 셸(7) | shadow |
| /etc/shadow | 400/640 | 9 | 해시(2) · LastChange(3) · Min(4) · Max(5) | passwd |
| /etc/group | 644 | 4 | GID(3) · 보조멤버(4) | gshadow |
| /etc/gshadow | 400 | 4 | 그룹암호(2) · 관리자(3) | group |