サブディレクトリの削除防止/ディレクトリ構造の適用

サブディレクトリの削除防止/ディレクトリ構造の適用

次のフォルダ構造を想像してみてください。

../文書

../文書/テンプレート

2 つのユーザーグループがあります。

  • 編集する
  • マネージャー

両方のグループのユーザーは、次のことができる必要があります。

  • 新しいファイルの作成
  • すべてのファイルを修正
  • すべてのファイルを削除

../文書から。

また、両方のグループが../documents/templatesのすべてのファイルを読み取ることができる必要があります。

「管理者」グループのユーザーのみが以下を実行できます。

  • 新しいファイルの作成
  • すべてのファイルを修正
  • すべてのファイルを削除

../ドキュメント/テンプレートにあります。

"../documents/templates"ディレクトリは両方のグループから削除できません!

どうすればいいですか?両方のグループのユーザーが作成/削除/変更を許可する「文書」に対してg = rwxを設定する必要があるため、Linuxではこれが不可能であるという結論に達しました(POSIX ACLの場合でも)。どのそのディレクトリ内のファイル...しかし、+wを使用すると、サブディレクトリ "templates"も削除でき、それを拒否する方法はありません。

ベストアンサー1

../documents/templates他のコンテンツが含まれている場合は誰も削除できません。したがって、権限../documents/templates/.hiddenのあるサブディレクトリを作成し、000その中に空のファイルを置くことができます。今後もちろん、000権限を設定してください。)それはrmdir ../documents/templates失敗し、また失敗しますrmdir ../documents/templates/.hidden

編集:他の削除された回答から借りたら、スーパーユーザーならこれを行うことができます。これはもう少し簡単です。

cd ../documents/templates
touch .locked
chattr +i .locked

chattrスーパーユーザーとして実行する必要があります。)

おすすめ記事