私はDebian 7サーバーを実行しており、次のようなシナリオがあります(例の名前)
ユーザー:
- ポール:ポール
- ジョン・ポール
ディレクトリ: /home/paul/Directory
- ファイル W (所有者 paul、グループ paul、権利: 0770)
- ファイル X (所有者 paul、グループ paul、権利: 0700)
- ファイル Y (所有者 paul、グループ paul、権利: 0700)
- ファイル Z (所有者 ジョン、グループ ポール、権利: 0770)
ユーザー john は、「ファイル Z」を削除できる必要がありますが、「ファイル X」や「ファイル Y」を削除することはできません。また、「ファイル W」を編集および削除する権限も必要です。
要約: 自分のファイルを削除することしかできず、権限を持つすべてのファイルを編集できる必要があります。
指定されたファイルに対してディレクトリの削除ビットを使用するソリューションを探しています。ルート権限で何も実行できないため、オプション「chattr」はオプションではありません。
誰かアイデアを持っていますか?
答え1
POSIXセキュリティモデルでは、ファイルを削除するには、そのファイルへの書き込みアクセスのみが必要です。 親ディレクトリしたがって、「john」アカウント+w
に /home/john/Directory への権限がある場合は、その中のファイルを常に削除できます。
ただし、例外として「スティッキー」/「削除制限」モードがあります。+t
ディレクトリではファイルの削除は制限されていますのみファイルの所有者またはディレクトリの所有者に通知します。(たとえば、/tmp
このように動作します。)chmod +t
そしてchown root
ディレクトリを開くと、期待どおりの結果が得られる可能性があります。