首页 > 代码库 > ACL最大权限及相关命令

ACL最大权限及相关命令

先查看目录vampire的acl权限

1 [root@LAMP home]# getfacl vampire
2 # file: vampire/
3 # owner: vampire
4 # group: vampire
5 user::rwx
6 user:iaknehc:r-x
7 group::---
8 mask::r-x
9 other::---

mask是用来指定最大有效权限的,如果给用户赋予了ACL权限,是需要和mask的
权限"相与"才能得到用户的真正权限.
将用户iaknehc的权限设置为rwx在查看acl权限

 1 [vampire@LAMP home]$ setfacl -m u:iaknehc:rwx vampire
 2 [vampire@LAMP home]$ getfacl vampire
 3 # file: vampire
 4 # owner: vampire
 5 # group: vampire
 6 user::rwx
 7 user:iaknehc:rwx
 8 group::---
 9 mask::rwx
10 other::---

设置acl最大权限后再查看iaknehc的acl权限

 1 [vampire@LAMP home]$ setfacl -m m:rx vampire   //修改最大有效权限,即mask的值
 2 [vampire@LAMP home]$ getfacl vampire
 3 # file: vampire
 4 # owner: vampire
 5 # group: vampire
 6 user::rwx
 7 user:iaknehc:rwx        #effective:r-x    //虽然之前设置了rwx权限,但是后来通过mask限制了最大权限,现在用户实际权限为rx
 8 group::---
 9 mask::r-x
10 other::---

setfacl -m m:rx vampire
通过执行该命令后,文件所属组,其他人和通过acl设置的用户对该文件最大权限只有rx,可以防止
设置权限不能准确把握时,导致设置权限过大,但该命令不影响文件拥有者的权限.

 

acl相关命令选项
setfacl -m 给用户或组设置acl权限
setfacl -m u:iaknehc:rx vampire //给用户iaknehc设置acl权限
setfacl -m g:iaknehc:rx vampire //给组iaknehc设置acl权限

修改最大有效权限
setfacl -m m:rx vampire //修改文件vampire的最大有效权限为rx,一般只有文件所属者或root才能修改文件最大有效权限

setfacl -x 删除指定用户的acl权限
setfacl -x u:iaknehc vampire //删除用户iaknehc对文件vampire的acl权限
setfacl -x g:iaknehc vampire //删除组iaknehc对文件vampire的acl权限

setfacl -b 删除文件所有acl权限
setfacl -b vampire //删除文件vampire的所有acl权限,所有用户的acl权限都被删除

setfacl -d 设置文件默认acl权限

setfacl -k 删除默认的acl权限

setfacl -R 递归设置acl权限

ACL最大权限及相关命令