Day 3에서 우리는 9비트(rwx × 3부류)로 권한을 정확히 계산했다. 그런데 그 9비트만으로는 풀 수 없는 문제가 있다. 일반 사용자가 자기 암호를 바꾸려면 /etc/shadow(root만 쓰기 가능)를 수정해야 하는데, 어떻게 가능할까? /tmp는 모두가 쓸 수 있는데 왜 남의 파일은 못 지울까? "alice와 bob 두 사람에게만" 권한을 주려면 owner·group·other 세 칸으로 어떻게 표현할까?
이 세 질문의 답이 오늘의 주제다. 앞쪽은 특수 권한 3종(SetUID·SetGID·Sticky bit)으로, 9비트 위에 얹는 네 번째 8진수 자리(4·2·1)다. 뒤쪽은 ACL(Access Control List)로, owner-group-other의 3칸 한계를 넘어 "특정 사용자/그룹마다 개별 권한"을 부여하는 확장 메커니즘이다. 둘 다 실기 단답과 보안 함정으로 빈출이다.
chmod에 8진수를 4자리로 쓰면 맨 앞 자리가 특수 권한이다. 가중치는 SetUID=4, SetGID=2, Sticky=1.