디렉터리 권한은 어떻게 작동하나요?

디렉터리 권한은 어떻게 작동하나요?

디렉토리 권한이 어떻게 작동하는지 이해하지 못합니다. 예를 들어:

r: 디렉토리의 모든 현재 파일을 나열할 수 있습니다(예 ls: )

w: 디렉터리의 파일을 수정하고 삭제한 후 새 하위 디렉터리를 만들 수 있습니다.

x:디렉토리에 액세스할 수 있습니다(예 cd: ).

만약 내 말이 맞다면:

-w-
  • 파일 이름을 이미 알고 있으면 파일을 삭제할 수 있나요?
  • 쓰기 권한이 없어도 파일을 삭제할 수 있나요?

또 다른 문제. 고정 비트가 발생하면(예 /tmp: ) 소유자가 아닌 경우 파일을 삭제하거나 이름을 바꿀 수 없습니다. 그렇게 하려면 파일 권한이 충분하지 않습니까?

답변1

x디렉토리의 권한을 통해 dir파일에 액세스할 수 있습니다 dir/file. 이 권한이 없으면 이 w권한은 전혀 도움이 되지 않습니다. 파일을 만들거나 삭제하려면 해당 파일을 가리킬 수 있어야 하기 때문입니다.

그러나 -wx해당 디렉터리에 있는 경우 해당 이름을 알고 있으면 파일을 삭제하고 새 파일을 만들 수 있습니다.

디렉토리 읽기, 즉 내용 나열에는 아무 것도 필요하지 않고 그 자체 dir/file에만 액세스할 필요가 있으므로 해당 파일이 있는 경우 파일 목록을 얻을 수 있습니다.dirr--

파일 권한은 적어도 내 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

또한보십시오:비트를 실행하고 읽습니다. Linux에서 디렉토리 권한은 어떻게 작동합니까?

관련 정보