スーパーユーザー以外の人が所有しているが削除できないディレクトリ

スーパーユーザー以外の人が所有しているが削除できないディレクトリ

所有者が削除できないディレクトリを作成することは可能ですか?baruser所有のディレクトリがあり、次のようにuser所有のサブディレクトリをfoo作成したいとします。bar/bazfoo

  • foobar/bazファイルとディレクトリは正常に作成および削除できます。
  • foobar通常、ファイルの作成と削除が可能です。
  • foobarほとんどのディレクトリは正常に削除できます。
  • foo(またはスーパーユーザー以外のユーザー)はディレクトリを削除できません。bar/baz

これを行う理由は、これをBTRFSサブボリュームに設定しbar/baz(スナップショットを除く)、fooBTRFSを使用して削除して再作成できる場合は、もはやサブmkdirボリュームではないからです。

答え1

所有者がディレクトリを削除するのを防ぐ方法は少なくとも2つあります。

  • ディレクトリが空でない場合は削除できません。だから、所有者が削除できない内容を入れてください。
    • 自分が所有していないディレクトリ
    • 不変ファイル(所有者は重要ではありません)
  • ディレクトリに何かをマウント

最初の場合でも、ディレクトリの名前を変更できます。しかし、その上に何かがインストールされている場合(とにかくあなたが望むものです)、彼らはそれで何もできません。今彼らができるなら削除上は何ですか...

答え2

ファイルまたはディレクトリを削除するには、親ディレクトリの権限が必要です。

/dir1/dir2したがって、コンテンツが重要でないディレクトリがあり、所有者がに設定されていて所有者に設定されているdir2場合、ファイルdir1が存在するかどうかに関係なく、削除または名前変更できません。どこを見てみましょう。どのユーザーも自分が所有するホームディレクトリを削除できません。user1dir2user2user2dir2dir2/homeroot/home

関連情報