グループがファイルやサブディレクトリの読み取りと書き込みはできるが、何も削除できないようにディレクトリのアクセス許可を設定することは可能ですか?
ディレクトリにスティッキービットを設定するだけで十分な場合があります。ユーザーは自分が所有するファイルを削除できますが、他のユーザーのファイルは削除できません。これでユースケースに十分な場合があります。ほとんどのシステムでは、/ tmpはこの方法でセットアップされます(/ tmpは1777に設定されます)
chmod 1775 /制御
ただし、さらに制御したい場合は、問題のファイルシステムでACLを有効にする必要があります。
/ etc/fstabで、フラグにaclを追加します。
/dev/root / ext3 defaults,acl 1 1
その後、setfacl/getfaclを使用して、aclレベルの権限を制御および表示できます。
例:(一度作成されたファイルは読み取り専用ですが、所有者は削除できますが、他のユーザーは削除できません。)
setfacl --set u::rwxs,g::rwx /controlled
setfacl -d --set u::r-x,g::r-x,o::- /controlled
ディレクトリで作成されたすべてのファイルで使用されるデフォルトのACLリストを設定できます。
他の人が述べたように、あなたが望むものを正確に指定するように注意してください。 「書き込み」と言いますが、ユーザーは自分のファイルを上書きできますか?既存のコンテンツを変更したり、追加したりできますか?一度書いたら、それは読み取り専用ですか?おそらく、コメントで詳細を指定できます。
最後に、selinuxとgrsecurityはさらに多くの制御を提供しますが、それは他のワームの缶です。セットアップには非常に複雑な場合があります。
さて、このディレクトリではr-xになります。
そして、その中のファイルにはrw-があります。
これは、ファイルのアクセス許可が書き込みを許可している場合にファイルを書き込むことができますが、ディレクトリのアクセス許可が書き込みを許可している場合にのみ削除できるためです。
可能かどうかにかかわらず、0バイトのファイルで上書きすることは、特定のコンテキストでファイルを削除することと同等ではないことを確認してください。