Linux: 파일을 기타 및 그룹으로 삭제

Linux: 파일을 기타 및 그룹으로 삭제

이 질문은 백만 번은 넘게 물어봐야 할 질문인데, 정상적인 대답을 찾을 수 없습니다.

사용자그룹 회원입니다관리자

루트로 만들었어요

# touch /tmp/keyboard-backlight.on 
# chmod 666 /tmp/keyboard-backlight.on 
# chgrp adm /tmp/keyboard-backlight.on 
# chgrp adm /tmp/
# echo "text"  > /test.txt
# chmod 0666  /test.txt

사용자로서

user@host ~ $ rm /tmp/keyboard-backlight.on 
rm: cannot remove '/tmp/keyboard-backlight.on': Operation not permitted
user@host ~ $ rm /test.txt 
rm: cannot remove '/test.txt': Permission denied

왜 이 파일을 삭제할 수 없나요?

답변1

파일을 삭제하고 생성하려면 파일이 포함된 디렉터리에 대한 쓰기 권한이 필요합니다.

의 경우 에 /속하며 root그룹이나 다른 사람에 대한 "쓰기" 권한이 없습니다. 따라서 root파일의 권한에 관계없이 해당 파일만 삭제할 수 있습니다.

$ ls -ld /
drwxr-xr-x 24 root root 4096 Nov  3 19:21 /

와 관련하여 /tmp폴더에는 일반적으로 고정 비트가 활성화되어 있습니다. 바라보다Linux 권한: SUID, SGID 및 고정 비트:

마지막 특별 권한을 "고정 비트"라고 합니다. 이 권한은 개별 파일에 영향을 미치지 않습니다. 그러나 디렉터리 수준에서는 파일 삭제가 제한됩니다. 오직소유자(그리고뿌리) 파일은 이 디렉터리의 파일을 삭제할 수 있습니다. 일반적인 예는 /tmp디렉터리입니다.

[tcarrigan@server article_submissions]$ ls -ld /tmp/ 
drwxrwxrwt. 15 root root 4096 Sep 22 15:28 /tmp/

권한 집합은 소문자로 표시됩니다.,안에엑스일반적으로 실행 권한이 표시됩니다.

관련 정보