この質問はlinuxに適していacl
ます。OSを記載していないので、以下ではLinuxを想定します。以下にセッションの例を示します。
本当に良いacl
チュートリアルは知りませんが、http: //www.vanemery.com/Linux/ACL/linux-acl.htmlよりも悪いことがあります
デフォルトacl
はローカルumaskのように動作することに注意してください。少なくともLinuxではumaskがグローバルに適用されるため、これがローカルumaskの効果を得る唯一の方法です。何らかの理由で、これはあまり知られていない機能です。ネットには、ローカルのumaskオーバーライドを尋ねる人々が散らばっていますが、を使用することを考えている人はほとんどいないようacl
です。
また、acl
サポートを使用して作業しているパーティションをマウントする必要があることに注意してください。
/dev/mapper/debian-acl /mnt/acl ext3 defaults,acl 0 2
セッションは次のとおりです。
/mnt/acl$ mkdir foo
/mnt/acl$ getfacl foo
# file: foo
# owner: faheem
# group: faheem
user::rwx
group::r-x
other::r-x
のグループをfoo
にstaff
設定し、グループとユーザーのACLをに設定foo
しrwx
ます。
/mnt/acl$ chgrp staff foo
/mnt/acl$ setfacl -R -m u::rwx,g::rwx foo
/mnt/acl$ getfacl foo
# file: foo
# owner: faheem
# group: staff
user::rwx
group::rwx
other::r-x
ユーザーとグループのデフォルトACLも設定しますrwx
。これは、ファイルとディレクトリが継承するパーミッションを定義しますfoo
。したがって、fooの下に作成されたすべてのファイルとディレクトリにはグループのアクセス許可がありrw
ます。
/mnt/acl$ setfacl -d --set u::rwx,g::rwx,o::- foo
/mnt/acl$ getfacl foo
# file: foo
# owner: faheem
# group: staff
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:other::---
次に、いくつかのファイルfoo
をユーザーfaheem
およびとして作成しますjohn
。
/mnt/acl$ cd foo
/mnt/acl/foo$ touch bar
# switch to user john for this next command.
/mnt/acl/foo$ touch baz
ファイルをリストします。が所有するファイルとが所有するファイルの両方がグループ権限で作成さfaheem
れてjohn
いることに注意してくださいrw
。
/mnt/acl/foo$ ls -la
total 3
drwxrwxr-x+ 2 faheem staff 1024 May 9 01:22 .
drwxr-xr-x 4 faheem faheem 1024 May 9 01:20 ..
-rw-rw---- 1 faheem faheem 0 May 9 01:20 bar
-rw-rw---- 1 john john 0 May 9 01:22 baz