ACLをサポートしているか確認するには&color(magenta){''tune2fs''};を使う #code(nonumber){{ [root@smb ~]# tune2fs -l /dev/sda3|grep "mount options" Default mount options: user_xattr acl [root@smb ~]# }} な感じで。 ***実践 [#x2a13c1a] とあるフォルダ(root,root所有権)に、crystal グループの所属の方がフォルダを作れるようにするには #code(nonumber){{ [root@smb ~]# ls -ld /export/share drwxr-xr-x 2 root root 4096 10月 17 13:41 2014 /export/share [root@smb ~]# [root@smb ~]# setfacl -m group:crystal:rwx /export/share [root@smb ~]# ls -ld /export/share drwxrwxr-x+ 2 root root 4096 10月 17 13:41 2014 /export/share [root@smb ~]# [root@smb ~]# getfacl /export/share getfacl: Removing leading '/' from absolute path names # file: export/share # owner: root # group: root user::rwx group::r-x group:crystal:rwx mask::rwx other::r-x [root@smb ~]# }} とします。これで crystal グループに所属しているユーザは、/export/share に書込みができます。 その配下のフォルダにも同じACLを渡すなら #code(nonumber){{ [root@smb ~]# setfacl -Rm group:crystal:rwx /export/share }} とします。 ですが、これは現在存在するフォルダに対して有効であって、今後新規に作られるフォルダにはこのACLは引き継がれない。 そのようにさせるには #code(nonumber){{ [root@smb ~]# setfacl -Rdm group:crystal:rwx /export/share }} とします。 ***apache [#c46a1f2f] セキュリティーには十分に気をつけないといけないが、/data領域にwebアプリがアクセスしてその結果を返すなら #code(nonumber){{ setfacl -Rm group:apache:rw /data <-- 既存フォルダへのACL対応 setfacl -Rdm group:apache:rw /data <-- 今後の既定としてのACL対応 setfacl -Rm group:apache:rx /data <-- 既存フォルダへのACL対応 setfacl -Rdm group:apache:rx /data <-- 今後の既定としてのACL対応 }} とするべきかと ***secound group [#o91b9c8f] プライマリなグループではなく、サブグループをあてても同様の効果はでます。 #code(nonumber){{ [illya@c ~]$ id uid=1002(illya) gid=2000(fate) groups=2000(fate),2002(supervisors),3000(domain users) [illya@c ~]$ }} として、/data(root:root所有)に GID:3000の「domain users」グループを割り当ててみる #code(nonumber){{ [root@c ~]# setfacl -m g:domain\ users:rwx /data [root@c ~]# cd / [root@c /]# getfacl data # file: data # owner: root # group: root user::rwx group::rwx group:domain\040users:rwx <-- 「domain users」を割り当てる mask::rwx other::r-x [root@c /]# }} その後、ユーザがフォルダを作ってみると #code(nonumber){{ [illya@c ~]$ mkdir /data/sample [illya@c ~]$ ls -ld /data/sample drwxr-xr-x 2 illya fate 6 5月 13 04:27 /data/sample [illya@c ~]$ }} となる。フォルダを作ったら、その配下のフォルダにも上位と同じ権限を付与したい場合にはsetfaclに「-m」を加える &color(white,blue){留意}; 自分が持っているgroupは、「id」コマンドで確認できる。 定義したのに、掲示されない場合は、一度ログアウトして再ログインする。 &color(red){*};&size(10){「id <user>」で表示されてもaclでは見えないみたい。「id」で表示されないとだめみたい}; #code(nonumber){{ [illya@c ~]$ id uid=1002(illya) gid=2000(fate) groups=2000(fate),2002(supervisors),3000(domain users) [illya@c ~]$ }} samba ADでユーザを管理しているのなら、「ADUC」からプライマリ、サブグループの定義が可能で、 「所属するグループ」にて行う。 &ref(2018y05m13d_043100025.png,nolink);