先查看目录linuxidc的acl权限
[root@linuxidc home]# getfacl linuxidc
# file: linuxidc/
# owner: linuxidc
# group: linuxidc
user::rwx
user:iaknehc:r-x
group::---
mask::r-x
other::---
mask是用来指定最大有效权限的,如果给用户赋予了ACL权限,是需要和mask的
权限"相与"才能得到用户的真正权限.
将用户iaknehc的权限设置为rwx在查看acl权限
[linuxidc@linuxidc home]$ setfacl -m u:iaknehc:rwx linuxidc
[vampire@linuxidc home]$ getfacl linuxidc
# file: linuxidc
# owner: linuxidc
# group: linuxidc
user::rwx
user:iaknehc:rwx
group::---
mask::rwx
other::---
设置acl最大权限后再查看iaknehc的acl权限
[linuxidc@linuxidc home]$ setfacl -m m:rx linuxidc //修改最大有效权限,即mask的值
[linuxidc@linuxidc home]$ getfacl linuxidc
# file: linuxidc
# owner: linuxidc
# group: linuxidc
user::rwx
user:iaknehc:rwx #effective:r-x //虽然之前设置了rwx权限,但是后来通过mask限制了最大权限,现在用户实际权限为rx
group::---
mask::r-x
other::---
setfacl -m m:rx linuxidc
通过执行该命令后,文件所属组,其他人和通过acl设置的用户对该文件最大权限只有rx,可以防止
设置权限不能准确把握时,导致设置权限过大,但该命令不影响文件拥有者的权限.
acl相关命令选项
setfacl -m 给用户或组设置acl权限
setfacl -m u:iaknehc:rx linuxidc //给用户iaknehc设置acl权限
setfacl -m g:iaknehc:rx linuxidc //给组iaknehc设置acl权限
修改最大有效权限
setfacl -m m:rx linuxidc //修改文件vampire的最大有效权限为rx,一般只有文件所属者或root才能修改文件最大有效权限
setfacl -x 删除指定用户的acl权限
setfacl -x u:iaknehc linuxidc //删除用户iaknehc对文件linuxidc的acl权限
setfacl -x g:iaknehc linuxidc //删除组iaknehc对文件linuxidc的acl权限
setfacl -b 删除文件所有acl权限
setfacl -b linuxidc //删除文件vampire的所有acl权限,所有用户的acl权限都被删除
setfacl -d 设置文件默认acl权限
setfacl -k 删除默认的acl权限
setfacl -R 递归设置acl权限