所有者が削除できないディレクトリを作成することは可能ですか?bar
user所有のディレクトリがあり、次のようにuser所有のサブディレクトリをfoo
作成したいとします。bar/baz
foo
foo
bar/baz
ファイルとディレクトリは正常に作成および削除できます。foo
bar
通常、ファイルの作成と削除が可能です。foo
bar
ほとんどのディレクトリは正常に削除できます。foo
(またはスーパーユーザー以外のユーザー)はディレクトリを削除できません。bar/baz
これを行う理由は、これをBTRFSサブボリュームに設定しbar/baz
(スナップショットを除く)、foo
BTRFSを使用して削除して再作成できる場合は、もはやサブmkdir
ボリュームではないからです。
答え1
所有者がディレクトリを削除するのを防ぐ方法は少なくとも2つあります。
- ディレクトリが空でない場合は削除できません。だから、所有者が削除できない内容を入れてください。
- 自分が所有していないディレクトリ
- 不変ファイル(所有者は重要ではありません)
- ディレクトリに何かをマウント
最初の場合でも、ディレクトリの名前を変更できます。しかし、その上に何かがインストールされている場合(とにかくあなたが望むものです)、彼らはそれで何もできません。今彼らができるなら削除上は何ですか...
答え2
ファイルまたはディレクトリを削除するには、親ディレクトリの権限が必要です。
/dir1/dir2
したがって、コンテンツが重要でないディレクトリがあり、所有者がに設定されていて所有者に設定されているdir2
場合、ファイルdir1
が存在するかどうかに関係なく、削除または名前変更できません。どこを見てみましょう。どのユーザーも自分が所有するホームディレクトリを削除できません。user1
dir2
user2
user2
dir2
dir2
/home
root
/home