Linux-그룹 구성원이 rw 권한을 가진 파일을 삭제할 수 없습니다


15

아래는 user1/tmp/testfile소유하고 있는 파일로, user2가 포함 된 wheel 로 그룹이 변경된 파일을 보여줍니다 . 파일 에 그룹에 대한 권한 이 있습니다 . 그룹의 어떤 구성원도 삭제할 수 없어야합니까? 아래 출력 예는 user2 가 파일을 삭제할 수 없음을 보여줍니다 . 왜?rw

[user2@files ~]$ ls -l /tmp/testfile
-rw-rw-r-- 1 user1 wheel 0 Jul 18 18:54 /tmp/testfile
[user2@files ~]$ groups
user2 wheel
[user2@files ~]$  rm /tmp/testfile
rm: cannot remove `/tmp/testfile': Operation not permitted


또한 @grawity에 의해 전체 설명을, 좋은 해결책은 아래 '자신'디렉토리를 만드는 것입니다 tmp끈적 끈적한 상황과 해결
FCM

답변:


30

먼저 잘못된 권한을보고 있습니다. 파일을 이동 / 이름 바꾸기 / 삭제할 때는 부모 디렉토리 만 수정하는 것입니다 . 파일 자체 권한은 확인되지 않습니다. 디렉토리의 파일 목록에서만 항목을 제거합니다. 따라서 상위 디렉토리 (이 경우 /tmp) 의 권한을 확인해야합니다 .

$ ls -ld /tmp
drwxrwxrwt 15 root root 460 Jul 19 15:18 /tmp/

둘째, /tmp특별하다. 실제로 모든 시스템에서 누구나 ( ugo=rwx) 쓸 수 있으므로 언뜻보기에 누구나 파일의 이름을 바꾸거나 파일을 삭제할 수있는 것처럼 보입니다. 이것은 물론 다른 사용자들에게 문제를 발생시키기 쉽도록 (잘, 더 쉽게) 할 수 있으므로 /tmp항상 "고정"(일명 "삭제 제한") 모드 세트 ( o+t)가 있습니다. 이 모드를 설정하면 권한에 관계없이 파일 소유자 만 해당 디렉토리의 파일을 이동하거나 삭제할 수 있습니다.

(GNU coreutils에서 chmod(1)매뉴얼 페이지에는 "제한된 삭제 플래그 또는 고정 비트"에 대한 섹션이 있습니다.)


특별 고정 권한의 두 번째 포인트로 인해 동일한 문제에 직면하고 있습니다. chmod o-t /tmp파일 을 제거한 다음 파일 삭제를 다시 시도했지만 여전히 동일하게 불평합니다.
Shashank Agrawal

1
파일 소유자는 해당 디렉토리 아래의 파일뿐만 아니라 루트 및 디렉토리 소유자 (예 : / tmp)도 삭제할 수 있습니다.
wulfgarpro
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.