공용 쓰기 디렉터리에서 sticky bit가 설정되면, 일반 사용자는 자신이 소유하지 않은 파일을 그 디렉터리에서 삭제하거나 이름을 바꾸기 어렵습니다. 파일 소유자나 디렉터리 소유자 등 지정된 조건을 만족하는 사용자는 예외가 될 수 있습니다.

sticky bit는 파일 내용을 읽거나 쓰는 권한을 일괄 차단하는 비트가 아닙니다. 디렉터리 항목 삭제와 이름 변경을 제한하는 범위를 중심으로 판단해야 합니다. 예시 권한은 직접 만든 것이며 공식 기출이나 판매 카드 원문이 아닙니다.

파일 삭제는 파일 mode만으로 결정되지 않습니다

파일 내용을 읽고 쓰는 권한과 디렉터리 안의 이름을 만들거나 지우는 권한은 서로 다른 검사입니다. 일반적으로 파일을 삭제할 때는 그 파일 자체의 쓰기 비트만 보는 것이 아니라 상위 디렉터리에서 항목을 제거할 권한을 확인합니다. 그래서 공용 쓰기 디렉터리에서는 다른 사람이 만든 파일 이름까지 바꿀 수 있는 문제가 생길 수 있습니다. 디렉터리 sticky bit는 이 삭제·이름 변경 범위를 좁히는 보호 장치입니다.

drwxrwxrwt를 행위자별로 판정합니다

가상의 공용 폴더에서 사용자 A와 B의 파일을 비교합니다.
행위자대상 파일sticky 조건일반적인 판정
AA가 만든 임시파일파일 소유자삭제·이름 변경 가능할 수 있음
BA가 만든 임시파일파일·디렉터리 소유자가 아님sticky가 있으면 제한
디렉터리 소유자A가 만든 임시파일디렉터리 소유자삭제·이름 변경 예외에 해당할 수 있음

이 권한 문자열의 마지막 t는 sticky bit가 설정된 표식입니다. 숫자 mode 1777에서는 앞의 1이 sticky를 뜻하므로 문자 표기와 숫자 표기의 위치를 혼동하지 마세요. A의 파일을 B가 지우려 할 때 B가 파일 소유자도 디렉터리 소유자도 아니라면 sticky가 삭제를 제한합니다. 특권 계정이나 추가 정책은 이 일반 사용자 사례와 별도로 다뤄야 합니다.

sticky bit는 파일 내용 접근을 대신 통제하지 않습니다

공용 폴더에 sticky bit가 있다고 해서 A의 파일 내용이 자동으로 비밀이 되는 것은 아닙니다. 파일의 읽기·쓰기 권한은 파일 mode와 ACL을 따로 봐야 합니다. B가 디렉터리에서 A의 이름을 지우지 못하더라도 파일 읽기 권한이 열려 있으면 내용을 읽을 수 있을 수 있습니다. 반대로 파일 mode가 읽기를 막으면 sticky bit가 없어도 파일 내용 읽기는 제한될 수 있습니다. 문제에서 ‘삭제’, ‘이름 변경’, ‘내용 읽기’, ‘내용 수정’ 중 무엇을 묻는지 먼저 표시하세요.

  1. 대상 경로의 객체가 디렉터리인지 확인합니다.
  2. 디렉터리 권한 문자열에서 sticky bit 표식을 찾습니다.
  3. 파일 소유자와 디렉터리 소유자를 구분합니다.
  4. 행위자가 둘 중 하나인지 확인합니다.
  5. 파일 내용을 읽거나 쓸 수 있는지는 파일 mode·ACL로 별도 판정합니다.

임시 디렉터리라는 이름만 믿지 않습니다

문제에서 /tmp를 언급해도 실제 서버의 권한이 항상 특정하다고 단정하지 않습니다. 운영체제와 관리자가 만든 설정, 마운트 옵션, 컨테이너 경계가 달라질 수 있습니다. 시험형 문제는 제시된 drwxrwxrwt 상태에서 판정하고, 실무 진단은 실제 권한과 소유자를 읽어야 합니다. Linux 권한 관련 명령을 문서에 예시로 적더라도 이 글에서 운영 환경에 실행하거나 변경하지 않습니다.

‘다른 사용자는 파일을 못 쓴다’고 범위를 넓히지 않습니다

흔한 오답은 sticky bit가 모든 파일을 읽기 전용으로 만든다고 설명하는 것입니다. sticky는 디렉터리 안 항목의 삭제·이름 변경을 제한합니다. 반면 umask는 새 객체를 만들 때 부여할 권한 비트를 제한하고, 디렉터리 setgid는 새 객체의 그룹 소유권 상속에 관여합니다. 세 기능을 별도 열에 적고, 파일 내용의 읽기·쓰기는 파일 mode와 ACL로 다시 판정하세요.

행위자 표를 가리고 권한을 회상합니다

복습 문제를 만들 때는 소유자 A, 다른 사용자 B, 디렉터리 소유자 D를 행으로 둡니다. 각 행에서 ‘A의 파일 삭제’, ‘파일 읽기’를 각각 묻고, sticky 조건과 파일 mode를 다른 근거 칸에 씁니다. 이 표를 이용하면 삭제 제한을 파일 내용 권한으로 착각하는 오류를 잡을 수 있습니다. 단순한 예시 결과는 운영체제별 특권 사용자나 추가 정책을 모두 포함하지 않으므로 그 범위를 답안에 함께 밝혀 주세요.

정답을 가리고 확인해 보세요

이 글을 위해 만든 학습 예시이며 공식 기출문제나 판매 카드의 인용이 아닙니다.

sticky bit가 설정된 공용 쓰기 디렉터리에서 사용자 B가 사용자 A 소유 파일의 이름을 바꾸려 합니다. B가 파일 소유자도 디렉터리 소유자도 아니면 어떤 제한을 예상하나요?

정답과 해설 확인일반 사용자 B에게는 파일의 이름 변경이 제한됩니다. sticky bit가 디렉터리의 삭제·이름 변경 조건을 좁히기 때문입니다.

디렉터리 안 항목의 이름을 바꾸거나 제거하는 작업은 디렉터리 권한과 관련됩니다. sticky bit는 파일 소유자나 디렉터리 소유자가 아닌 사용자의 변경을 제한합니다. 파일 내용 읽기·쓰기 권한은 별도로 봐야 합니다.

이 주제의 회상 연습 이어가기