디렉토리 권한이 어떻게 작동하는지 이해하지 못합니다. 예를 들어:
r
: 디렉토리의 모든 현재 파일을 나열할 수 있습니다(예 ls
: )
w
: 디렉터리의 파일을 수정하고 삭제한 후 새 하위 디렉터리를 만들 수 있습니다.
x
:디렉토리에 액세스할 수 있습니다(예 cd
: ).
만약 내 말이 맞다면:
-w-
- 파일 이름을 이미 알고 있으면 파일을 삭제할 수 있나요?
- 쓰기 권한이 없어도 파일을 삭제할 수 있나요?
또 다른 문제. 고정 비트가 발생하면(예 /tmp
: ) 소유자가 아닌 경우 파일을 삭제하거나 이름을 바꿀 수 없습니다. 그렇게 하려면 파일 권한이 충분하지 않습니까?
답변1
x
디렉토리의 권한을 통해 dir
파일에 액세스할 수 있습니다 dir/file
. 이 권한이 없으면 이 w
권한은 전혀 도움이 되지 않습니다. 파일을 만들거나 삭제하려면 해당 파일을 가리킬 수 있어야 하기 때문입니다.
그러나 -wx
해당 디렉터리에 있는 경우 해당 이름을 알고 있으면 파일을 삭제하고 새 파일을 만들 수 있습니다.
디렉토리 읽기, 즉 내용 나열에는 아무 것도 필요하지 않고 그 자체 dir/file
에만 액세스할 필요가 있으므로 해당 파일이 있는 경우 파일 목록을 얻을 수 있습니다.dir
r--
파일 권한은 적어도 내 Linux에서는 고정 디렉터리에 있더라도 파일 삭제에 영향을 미치지 않습니다. 매뉴얼 페이지(수정(1))은 고정 디렉터리에서 파일을 삭제하거나 이름을 바꾸려면 파일이나 디렉터리의 소유자여야 함을 의미합니다.
/tmp$ ls -l test
-rw-rw-rw- 1 root root 0 Aug 19 16:17 test
/tmp$ rm test
rm: cannot remove 'test': Operation not permitted