web-dev-qa-db-ja.com

共有ファイルシステムディレクトリを構成するための最良の方法は何ですか? (標準のUNIXパーマを超えて)

システムに複数のユーザーがいます。音楽、ビデオなどの共有ディレクトリが欲しいのですが。写真など。問題は、ユーザーが新しいファイルを任意のディレクトリに書き込むことができるようにしたいが、所有していないファイルを削除または変更できないようにすることです。標準のUNIXパーマでは、ファイルをディレクトリに追加できる場合は、他のファイルを削除することもできます。また、これらのディレクトリ内のすべてのファイルがユーザーグループによって常に読み取り可能であることを確認したいと思います。

POSIX ACLでこれを行うことはできますか?または、SELinux(または他のセキュリティフレームワーク)のようなより高度なものが必要ですか?.

私が働きたくないことの例。

su - root
mkdir /home/music
chmod 775 /home/music
chgrp users /home/music
su - user1 /home/music
touch /home/music/testfile
ll /home/music/testfile
su - user2
rm /home/music/testfile
ll /home/music
5
xenoterracide

私があなたを正しく理解しているなら、あなたはあなたの音楽/ビデオなどのディレクトリに/ tmpと同じセマンティクスが欲しいです。

このために、ディレクトリにスティッキービットを置くことができます。 chmodのmanページから引用するには:

制限付き削除フラグORスティッキービット制限付き削除フラグまたはスティッキービットは単一ビットであり、その解釈はファイルタイプによって異なります。ディレクトリの場合、特権のないユーザーがファイルを削除したり名前を変更したりするのを防ぎます。ファイルまたはディレクトリを所有していない限り、ディレクトリ。これはディレクトリの制限付き削除フラグと呼ばれ、/ tmpなどの誰でも書き込み可能なディレクトリで一般的に見られます。

9
maxschlepzig