SPECIAL PERMISSIONS

SetUID SetGID Sticky Bit

일반 rwx 권한 위에 4000, 2000, 1000 비트를 더하면 프로그램 실행과 공유 디렉토리 동작이 달라진다.

4000 / rws

SetUID

`passwd`처럼 실행 순간 EUID가 파일 소유자 권한으로 바뀐다.

위험 지점 SetUID root 바이너리의 입력 검증 취약점은 root 권한 탈취로 이어진다.
2000 / rws

SetGID

실행 파일은 그룹 권한으로, 디렉토리는 새 파일의 그룹 상속으로 동작한다.

팀 디렉토리 `chmod 2775 /shared/project`는 developers 그룹 협업에 자주 쓰인다.
1000 / rwt

Sticky Bit

`/tmp`처럼 누구나 쓸 수 있어도 남의 파일 삭제는 막는다.

삭제 조건 파일 소유자, 디렉토리 소유자, root만 해당 파일을 제거할 수 있다.
파일 유형 `-`, `d`, `l` 다음 9칸에서 u/g/o 권한을 읽는다.
특수 문자 `s`와 `t`는 실행 비트 자리에 표시되며 대문자는 실행 권한이 없다는 뜻이다.
8진수 합산 `4755`는 SetUID 4000과 일반 권한 755가 함께 설정된 값이다.
감사 대상 `find / -perm -4000 -type f`로 불필요한 SetUID 파일을 점검한다.