User1
持っていなければならない書き込みアクセスファイルをダウンロードするには「人」到着根ディレクトリ/bucket
に対するその他の操作は許可されていません。
User2
必要読み取り権限アーカイブ「人」存在する根ディレクトリ/bucket
とインポートファイル「人」User2
サーバーに入ります。
/bucket
上記のユーザーのルートディレクトリ権限とユーザー権限を設定するには?
答え1
「ルートディレクトリ」が何を意味するのかを明確にすることはできますか?また、Linuxディストリビューションを指定していないので、私のコマンドはUbuntuに基づいています。
ACL がない場合、オプションは制限されます。私はこれらのユーザーが/ bucketディレクトリを所有したくないと仮定します。グループを作成し(例では「Readers」と呼ばれます)、User2を「Readers」グループに追加します。
addgroup readers
adduser User2 readers
/bucket ディレクトリのグループ所有権を「読者」に付与します。
chgrp readers /bucket
これで、読者グループに/ bucketディレクトリへの読み取りアクセスを許可し、「other」が書き込みアクセスのみ(読み取り不可)になるように設定できるようになりました。また、書き込み権限を持つ人が他のユーザーのファイルを削除するのを防ぐために固定ビットを設定しました。
chmod 1753 /bucket
完了したら、権限は次のようになります。
drwxr-x-wt 1 root readers 0 Feb 26 17:08 bucket
これはrootに完全な権限を与えます。読者は読むことはできますが、書き込むことはできません。
より詳細な制御(ユーザーごとの権限など)が必要な場合は、ACLの使用を検討できます。 ACLを使用するために上記のプロセスを少し変更します。
まず、両方のユーザーを含むグループを作成します。私の例では、このグループを「bucket-users」と呼びます。
addgroup bucket-users
adduser User1 bucket-users
adduser User2 bucket-users
次に、バケットユーザーグループを提供します。完全に制御する/バケットディレクトリ。 User1 がディレクトリに入れていないファイルを削除しないようにするには、固定ビットが再び必要です。
chmod 1770 /bucket
完了したら、権限は次のようになります。
drwxrwx--T 1 root bucket-users 0 Feb 26 17:08 bucket
次に、setfaclコマンドを使用してこれらのユーザーの権限をさらに制限します。
setfacl -m "u:User1:-wx" /bucket
setfacl -m "u:User2:r-x" /bucket
その後、getfacl コマンドを使用してこれらの権限を確認できます。
$ getfacl bucket
# file: bucket
# owner: root
# group: bucket-users
# flags: --t
user::rwx
user:User1:-wx
user:User2:r-x
group::r-x
mask::rwx
other::---