
두 명의 사용자가 john
및 sally
. 둘 다 그룹의 일부입니다 users
. john
권한이 있는 디렉토리를 생성합니다 775
. sally
그런 다음 권한이 있는 파일을 거기에 넣습니다 644
.
파일에 분명히 그룹 쓰기 권한이 없는 경우에도 마찬가지입니다. john
그런 다음 자신이 소유한 디렉터리에 있는 해당 파일을 수정/삭제할 수 있습니까 ? 하지만 자신이 소유하지 않은 파일은 수정/삭제할 수 있습니까?
답변1
링크 해제는 파일이 아닌 디렉터리의 권한에 따라 달라지므로 파일을 삭제할 수 있습니다. 이런 방식으로 디렉터리에서 해당 항목을 제거하고 교체할 수 있으므로 수정할 수 있습니다.
답변2
예, 파일을 삭제하면 실제로 파일이 수정되는 것이 아니라 디렉토리가 수정되며 john에게는 그렇게 할 수 있는 권한이 있습니다.
이 동작을 방지하는 방법은 sticky bit
디렉토리에 를 설정하는 것입니다. 이것이 /tmp가 모든 사람이 쓸 수 있도록 허용하는 방법이지만, 소유자(또는 루트)만이 항목을 삭제할 수 있습니다.
chmod +t directory
그러면 끈적끈적한 비트가 켜집니다.