62

グループがファイルとサブディレクトリの読み取りと書き込みはできるが、何も削除できないように、ディレクトリのアクセス許可を設定することは可能ですか?

4

3 に答える 3

52

ディレクトリにスティッキービットを設定するだけで十分な場合があります。ユーザーは自分が所有するファイルを削除できますが、他のユーザーのファイルは削除できません。これはあなたのユースケースには十分かもしれません。ほとんどのシステムでは、/ tmpはこのように設定されています(/ tmpは1777に設定されています)

chmod1775/制御

ただし、より詳細な制御が必要な場合は、問題のファイルシステムで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はさらに詳細な制御を提供しますが、それはまったく別のワームの可能性です。セットアップにはかなりの時間がかかる場合があります。

于 2009-05-15T16:33:05.230 に答える
17

さて、このディレクトリの rx になります。

その中のファイルには rw-.

これは、ファイルのパーミッションが書き込みを許可している場合はファイルに書き込むことができますが、ディレクトリのパーミッションが書き込みを許可している場合にのみファイルを削除できるためです。

于 2009-05-15T16:04:04.800 に答える
3

可能かどうかに関係なく、0 バイトのファイルで上書きすることは、特定のコンテキストでファイルを削除することと同等ではないことを確認してください。

于 2009-05-15T16:07:19.970 に答える