루트가 아닌 사용자의 "루트"에 속한 파일을 삭제할 수 있는 이유는 무엇입니까? [복사]

루트가 아닌 사용자의 "루트"에 속한 파일을 삭제할 수 있는 이유는 무엇입니까? [복사]

내 사용자 아래에 파일을 만든 esolve 다음 su root chown을 사용하여 해당 사용자를 루트로 변경한 다음 사용자로 돌아갑니다. esolve 여전히 파일을 삭제할 수 있다는 것을 알았습니다 rm . 이유는 무엇입니까?

답변1

파일 생성, 이름 변경 및 삭제 가능 여부는 파일의 소유권 및 액세스 권한이 아니라 상위 디렉터리의 소유권 및 액세스 권한에 따라 달라집니다.

디렉토리에 대한 쓰기 액세스 권한이 있으면 이를 수행할 수 있습니다(richacl은 일반적인 상황에서 더 복잡합니다). 예외는 평소와 같이 설정된 고정 비트("other"의 "SUID"/"SGID" 비트, 참고자료 참조)가 있는 man chmod디렉터리 입니다 /tmp. 이러한 디렉터리에서는 디렉터리 소유자나 파일 소유자만 이 작업을 수행할 수 있으며 쓰기 권한이 있는 다른 사용자는 수행할 수 없습니다.

답변2

파일을 삭제할 수 있기 때문에 파일을 읽을 수 있으면 실제로 "수정 권한"이 있는 것입니다.

foo"owner"라는 파일이 있고 root이 파일은 (모든 사람)이 읽을 수 있고 you"owner" 디렉터리에 있다고 가정합니다.you

-rw-r--r-- 1 root    root    4 May 11 12:34 foo
drwxr-xr-x 2 you     root 4.0K May 11 12:34 ./

이 파일을 새 파일에 복사합니다.

$ cp foo 바

-rw-r--r-- 1 root    root       4 May 11 12:34 foo
-rw-r--r-- 1 you     you        4 May 11 12:36 bar
drwxr-xr-x 2 you     root       4.0K May 11 12:36 ./

원하는 대로 파일 "바"를 편집하세요.

"bar"를 "foo"로 이동

$ mv 바 foo

-rw-r--r-- 1 you     you        4 May 11 12:36 foo

이제 이름은 같지만 소유자는 다른 새 파일이 생겼습니다. 그런데 여기서 포인트는내용이 변경되었습니다

수정 권한은 없지만 이름 바꾸기/이동/RM은 가능합니다. 이 디자인은 정말 견딜 수가 없어요! !

관련 정보