ACL针对
使用者 (user)
群组 (group)
默认属性 (mask)
观察acl是否启动
mount
/dev/hda2 on / type ext3 (rw)
dumpe2fs -h /dev/hda2
查看Default mount options: user_xattr acl
如果没有启动手动启动
mount -o remount,acl /
mount
/dev/hda2 on / type ext3 (rw,acl)
这样就加入了但是如果想要每次开机都生效那就这样做
vi /etc/fstab LABEL=/1 / ext3 defaults,acl 1 1
ACL设定 getfacl, setfacl
setfacl 设定目录、档案acl
-m设定后续的 acl 参数给档案使用不可与 -x 合用
-x 删除后续的 acl 参数不可与 -m 合用
-b 移除所有的 ACL 设定参数
-k 移除预设的 ACL 参数关于所谓的『预设』参数于后续范例中介绍
-R 递归设定 acl 包括次目录都会被设定起来
-d 设定『预设 acl 参数』的意思只对目录有效在该目录新建的数据会引用此默认值
针对使用者的设定方式u:[使用者账号列表]:[rwx]
针对vbird1设定
[root@www ~]# touch acl_test1
[root@www ~]# ll acl_test1
-rw-r--r-- 1 root root 0 Feb 27 13:28 acl_test1
[root@www ~]# setfacl -m u:vbird1:rx acl_test1
[root@www ~]# ll acl_test1
-rw-r-xr--+ 1 root root 0 Feb 27 13:28 acl_test1
getfacl 查看getfacl filename
选项和setfacl同
列出acl_vbird1的权限 #代表默认属性
getfacl acl_test1
# file: acl_test1 <==说明档名而已
# owner: root <==说明此档案的拥有者第三使用者字段
# group: root <==此档案的所属群组第四群组字段
user::rwx <==使用者列表栏是空的代表档案拥有者的权限
user:vbird1:r-x <==针对 vbird1 的权限设定为 rx 与拥有者不同
group::r-- <==针对档案群组的权限训定仅有 r
mask::r-x <==此档案预设的有效权限 (mask)
other::r-- <==其他人拥有的权限啰
针对群组的设定方式 g:[群组列表]:[rwx]
[root@www ~]# setfacl -m g:mygroup1:rx acl_test1
[root@www ~]# getfacl acl_test1
group:mygroup1:r-x <==这里就是新增的部分
mask有效权限范围 m:[rwx]
# 设定范围『 m:[rwx] 』例如针对刚刚的档案规范为仅有 r
[root@www ~]# setfacl -m m:r acl_test1
[root@www ~]# getfacl acl_test1
# file: acl_test1
# owner: root
# group: root user::rwx user:vbird1:r-x #effective:r-- <==vbird1+mask均存在者仅有 r 而已 group::r-- group:mygroup1:r-x #effective:r--
mask::r--
other::r--
vbird1与 mask 的集合发现仅有 r 存在因此 vbird1 仅具有 r 的权限而已并不存在 x 权限这就是 mask 的功能了
针对目录的默认acl权限修改(继承) d:[ug]:使用者列表:[rwx]
让 myuser1 在 /srv/projecta 底下一直具有 rx 的预设权限
[root@www ~]# setfacl -m d:u:myuser1:rx /srv/projecta
[root@www ~]# getfacl /srv/projecta
# file: srv/projecta
# owner: root
# group: projecta
user::rwx
user:myuser1:r-x
group::rwx
mask::rwx
other::---
default:user::rwx
default:user:myuser1:r-x
default:group::rwx
default:mask::rwx
default:other::---
删除ACL 的属性setfacl -b 檔名