
john
とという 2 人のユーザーがいるとしますsally
。両方ともグループの一部ですusers
。john
は権限 でディレクトリを作成します775
。sally
次に、権限 でそこにファイルを配置します644
。
ファイルにグループ書き込み権限がないことは明らかですが、john
そのファイルが所有ディレクトリ内にある場合、そのファイルは変更/削除できるのでしょうか?
答え1
リンク解除はファイルではなくディレクトリの権限に依存するため、ファイルを削除できます。このように、ディレクトリ内でファイルを削除して置き換えることができるため、ファイルを変更できます。
答え2
はい、ファイルを削除しても、実際にはファイルは変更されませんが、ディレクトリが変更され、john にはそれを行う権限があります。
この動作を防ぐには、sticky bit
ディレクトリに を設定します。これにより、/tmp への書き込みは誰でも許可されますが、削除できるのは所有者 (または root) のみになります。
chmod +t directory
こうするとスティッキービットがオンになります。