
このファイルがあります:
$ ls -l store.sh
-rwxr-xr-x 1 root apache 117 Feb 5 2016 store.sh
$ id
uid=48(apache) gid=48(apache) groups=48(apache)
このファイルを編集する権限はないと思いますが、ファイルを削除して置き換えることは可能でした。どうしてでしょうか? 誰かこの動作を説明してもらえますか?
答え1
ファイルを削除または移動(名前変更)するには、ファイルへの書き込み権限は必要ありません。ディレクトリへの書き込み権限が必要です。含むファイル、なぜなら削除や名前の変更はファイルに対する操作ではなく、ディレクトリのファイルリストに対する操作です。したがって、この場合、このファイルのディレクトリには、apache
ユーザーまたはapache
グループの書き込みアクセス権がある可能性があります。
答え2
ファイルを削除しても、問題のファイルは変更されません。ディレクトリリストからファイルが削除されるため、親ディレクトリが変更されます。これは、ファイルの親ディレクトリに対する完全な権限を持っていることも意味します。