この質問は100万回以上尋ねるべき質問ですが、通常の答えが見つかりません。
ユーザーグループメンバーですマネージャー
ルートにしました。
# 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/
権限セットは小文字で表示されます。ティーの中X通常、実行権限が表示されます。