ユーザーが所有するディレクトリを作成し、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はディレクトリにファイルを作成および書き込みできますが、削除することはできません。所有者だけがディレクトリ内のファイルを削除できません。