私は最近、ACLとsetfacl
各ユーザーのアクセス権を設定する方法を学びました。ただし、実装方法がわからないことの1つは、特定のディレクトリ内の特定のユーザーへのすべての書き込み(*)アクセスを制限することです。そして中のすべて。
つまり、ユーザーsome_user
とディレクトリsome_dir
(chmod 777 some_dir
使用すると仮定)を考慮します。some_user
書き込みアクセスを制限する方法はありますか?いいえ他のアクセス権some_dir
とすべてのコンテンツを変更しますか?
私が試したこと/思ったこと:
setfacl -R -m u:some_user:rx some_dir/
some_user
ユーザーが以前に読み取れなかったファイルへの読み取りアクセスを許可し、ユーザーが以前に実行できなかったファイルへの実行アクセスを許可しているため、成功しません。- (私の知る限り)マスクを1人のユーザーに特定にする方法がないので、マスクを再帰的
r-x
に設定してもsome_dir
そうはなりません。setfacl
ACL文書を見た後、この方向を指すものが見つからなかったため、明らかにこの目的のためにACLを使用する方法を探しているわけではありません。
(*)または読み取りまたは実行アクセス - どちらかは重要ではありませんが、簡単にするために書き込みアクセスに固執します。
答え1
これで、ユーザーp3にaclを適用する前に、誰もがディレクトリk2へのフルアクセス権を持っています。
mkdir k2
chmod 777 k2
getfacl k2
# file: k2
# owner: praveen
# group: praveen
user::rwx
group::rwx
other::rwx
次に、ユーザp3の書き込みアクセスをディレクトリk2に制限します。
setfacl -m u:p3:rx k2
$ getfacl k2
# file: k2
# owner: praveen
# group: praveen
user::rwx
user:p3:r-x =====> user p3 have only read and execute acess not write
group::rwx
mask::rwx
other::rwx