
次のフォルダ構造を想像してみてください。
../文書
../文書/テンプレート
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
スーパーユーザーとして実行する必要があります。)