Linux権限またはACLを使用して削除権限を取り消すことはできますか?

Linux権限またはACLを使用して削除権限を取り消すことはできますか?

ユーザーが所有するディレクトリを作成し、donグループ所有者が名前がグループである場合にbobこれを行う方法はありますか?

  • グループ(bob)にファイルの作成と書き込みを許可します。
  • ファイルの削除はそのディレクトリ()の所有者だけが行うことdonができ、所有者以外は誰も削除できません。

chmod標準のLinux権限などを試してみました。しかし、書き込み権限を付与するとグループが読み書きできるようになりますが、私が望んでいないコンテンツを削除することもできるので、これは非常に面倒な作業のようです。

標準のLinux権限またはACLを介してこれをどのように達成できますか?

答え1

これを行うには、アクセス制御リスト(ACL)で標準のLinux権限を使用できます。

まず、次の所有権と権限を持つディレクトリを作成できます。

mkdir testdir
chown don:bob testdir
chmod 2770 testdir

これにより、ユーザーdonおよびグループbobが所有するようにディレクトリを設定することで、グループbobに読み取り、書き込み、および実行権限を付与しますが、グループ所有者の削除は制限されます。固定ビット2は、ファイル所有者またはスーパーユーザーだけがディレクトリ内のファイルを削除できるようにします。

次に、ディレクトリにACLを追加して、ファイル所有者にのみ削除を制限できます。

setfacl -m u:don:rwx testdir
setfacl -m g::--- testdir
setfacl -m o::--- testdir
setfacl -m d:u:don:rwx testdir
setfacl -m d:g::--- testdir
setfacl -m d:o::--- testdir

これにより、ユーザーにディレクトリへのフルアクセス権が付与され、グループや他のユーザーに対するすべての権限が削除されます。 dフラグは、ディレクトリに生成された新しいファイルのデフォルトACLを設定します。

これらの設定を使用すると、グループbobはディレクトリにファイルを作成および書き込みできますが、削除することはできません。所有者だけがディレクトリ内のファイルを削除できません。

関連情報