이 질문은 백만 번은 넘게 물어봐야 할 질문인데, 정상적인 대답을 찾을 수 없습니다.
사용자그룹 회원입니다관리자
루트로 만들었어요
# 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/
권한 집합은 소문자로 표시됩니다.티,안에엑스일반적으로 실행 권한이 표시됩니다.