
고정 비트가 설정된 디렉터리에서 파일을 생성/삭제하려면 다음 작업 중 하나가 필요하다는 것을 이해합니다.
- 당신은 뿌리입니다
- 당신은 이 파일의 소유자입니다
- 당신은 이 디렉토리의 소유자입니다
+w
그리고 당신은 또한 디렉토리에 있어야합니다 .
문제는 +x
디렉토리에 있습니다. 제가 아는 한, 디렉터리의 고정 비트가 설정되지 않은 경우 +x
해당 디렉터리에 파일을 생성/삭제해야 합니다. 그런데 교수님께서 +x
스티키 비트가 설정되어 있으면 필요하지 않다고 하셨습니다.
Ubuntu 16.04에서 시도해 보았지만 +x
고정 비트가 설정된 경우에도 여전히 필요한 것 같습니다.
Bob@david-VirtualBox:/home/Alice$ ls -ld InBox/
drwx----wT 2 Alice Alice 4096 十一 7 01:09 InBox/
Bob@david-VirtualBox:/home/Alice$ touch InBox/some_file
touch: cannot touch 'InBox/some_file': Permission denied
Bob@david-VirtualBox:/home/Alice$ rm InBox/link
rm: cannot remove 'InBox/link': Permission denied
Bob@david-VirtualBox:/home/Alice$ su Alice
Password:
Alice@david-VirtualBox:~$ chmod 1703 InBox/
Alice@david-VirtualBox:~$ su Bob
Password:
Bob@david-VirtualBox:/home/Alice$ touch InBox/some_file
Bob@david-VirtualBox:/home/Alice$ rm InBox/link
Bob@david-VirtualBox:/home/Alice$
내 질문
- 이 동작은 배포판 전체에서 일관됩니까, 아니면 일부 표준에 설명되어 있습니까?
- Google을 사용해 보았지만 디렉터리 고정성 비트에 대한 대부분의 리소스는 위의 세 가지 사항을 강조합니다. 교수님께서 이런 말씀을 하신 데에는 어떤 (역사적인?) 이유가 있는지 궁금합니다.
누가 물어보면 교수님께 내 이메일에 답장해 주실지 물어볼게요 :(
미리 감사드립니다.
답변1
교수님이 틀렸어요:
디렉토리에서 무언가를 제거하려면 디렉토리의 x 비트에 의해 부여되는 "검색 권한"이 필요합니다.
x 비트가 없으면 삭제할 파일이 존재하는지 확인할 수 있는 방법이 없습니다.