문제
다음 설명의 상황에 설정해야 하는 작업으로 가장 알맞은 것은?
회사의 공유 디렉터리로 이용 중인 project에서 누구나 생성은 가능하나 삭제할 때는 본인 소유의 파일만 가능하도록 설정하려고 한다.
① project 디렉터리에 부여된 w 권한을 제거한다. ② project 디렉터리에 Set-UID를 부여한다. ③ project 디렉터리에 Set-GID를 부여한다. ④ project 디렉터리에 Sticky-Bit를 부여한다.
정답
4번
해설
정답: 4. 디렉터리에 쓰기 권한이 있으면 누구나 그 안의 파일을 지울 수 있는데, Sticky-Bit(끈적이 비트)를 설정하면 파일 소유자(또는 디렉터리 소유자·root)만 자기 파일을 삭제할 수 있게 제한된다. /tmp 처럼 공유 디렉터리에 쓰는 대표적 보호 장치다.
오답 풀이
- 1번: w(쓰기) 권한을 제거하면 파일 생성 자체가 불가능해져 "누구나 생성 가능" 조건에 어긋난다.
- 2번: Set-UID 는 실행 파일 실행 시 소유자 권한으로 동작하게 하는 비트로, 디렉터리 삭제 제한과 무관하다.
- 3번: Set-GID 는 디렉터리에 주면 하위 생성 파일이 디렉터리 그룹을 상속하게 할 뿐, 삭제 제한 기능은 없다.
- 4번: Sticky-Bit 는 공유 디렉터리에서 본인 소유 파일만 삭제 가능하게 하므로 옳다.
보충 개념 특수 권한 8진수: Set-UID=4, Set-GID=2, Sticky-Bit=1. 디렉터리에 Sticky-Bit 가 설정되면 권한 표시의 other 실행 자리가 t(또는 T)로 보인다(예: drwxrwxrwt).