문제
다음 중 특수 권한을 부여해서 사용하는 경우의 예로 가장 거리가 먼 것은?
① Sticky-Bit를 파일에 부여한다. ② Set-UID를 실행 파일에 부여한다. ③ Set-GID를 실행 파일에 부여한다. ④ Set-GID를 디렉터리에 부여한다.
정답
1번
해설
정답: 1. Sticky-Bit 은 디렉터리(예: /tmp)에 부여해 공유 디렉터리의 삭제를 제한하는 용도이다. 일반 "파일" 에 Sticky-Bit 을 부여하는 것은 현대 리눅스에서 의미가 없으므로 가장 거리가 먼 예다.
오답 풀이
- 1번: Sticky-Bit 은 디렉터리용 권한으로, 파일에 부여하는 것은 실효성이 없어 정답(거리가 먼 것)이다.
- 2번: Set-UID 를 실행 파일에 부여하면 실행 시 소유자 권한으로 동작한다(예: passwd). 올바른 사용 예다.
- 3번: Set-GID 를 실행 파일에 부여하면 실행 시 그룹 권한으로 동작한다. 올바른 사용 예다.
- 4번: Set-GID 를 디렉터리에 부여하면 하위 생성 파일이 디렉터리 그룹을 상속한다. 협업 디렉터리의 올바른 사용 예다.
보충 개념 특수 권한 8진수: Set-UID=4, Set-GID=2, Sticky-Bit=1. Set-UID/GID 는 실행 파일·디렉터리에, Sticky-Bit 은 공유 디렉터리에 부여하는 것이 정석이다.