内容来源于人民邮电出版社《Linux命令应用大词典》
讲述729个命令,1935个例子
学习Linux系统的参考书、案头书,遇到不懂的命令或命令选项一查即可
争取每天都发布内容
本文出自 “airfish2000” 博客,更多命令查看博客:
http://airfish2000.blog.51cto.com/10829608/1894364
setfacl命令
使用setfacl命令可以设置文件或目录的ACL。
命令语法:
setfacl [选项] [目录|文件]
命令中各选项的含义如表所示。
表 setfacl命令选项含义
选项 |
含义 |
-m <ACL设置> |
设置文件的ACL规则 |
-M <文件> |
从文件中读取ACL条目进行修改 |
-x <ACL设置> |
删除文件的ACL规则 |
-X <文件> |
从文件中读取ACL条目进行删除 |
-b |
删除所有扩展ACL规则 |
-k |
删除默认的ACL规则 |
-R |
递归设置ACL,包括目录中的子目录和文件 |
-d |
设置默认的ACL规则 |
-P |
跳过所有符号链接,包括符号链接文件 |
-L |
跟踪符号链接,默认情况下只跟踪符号链接文件,跳过符号链接目录 |
-n |
不要重新计算有效权限 |
--set=<ACL设置> |
设置文件或目录的ACL规则,以前的设置将会被覆盖掉 |
--mask |
重新计算有效权限 |
--restore=<文件> |
从文件恢复备份的ACL规则 |
--test |
测试模式,不改变文件的ACL规则,操作后的ACL规则将被列出 |
设置ACL规则时,setfacl命令使用表所示ACL规则表示方法。用户和组群可以指定名称或数字ID。权限是一个代表各种权限的字母组合,比如读取权限使用r、写入权限使用w 、执行权限使用x。权限也可以使用数字来表示。
表 ACL规则表示方法
设置对象 |
ACL规则表示方法 |
指定用户的ACL |
[d[efault]:] [u[ser]:]用户[:权限] |
指定组群的ACL |
[d[efault]:] g[roup]:组群[:权限] |
指定有效权限掩码(mask) |
[d[efault]:] m[ask][:] [权限] |
指定其它用户的ACL |
[d[efault]:] o[ther] [:权限] |
例:为用户zhangsan设置ACL,使其对/opt/ta文件具有rwx权限。
[[email protected] ~]# setfacl -m u:zhangsan:rwx /opt/ta
例:为组群zhangsan设置ACL,使其对/opt/ta文件具有rwx权限。
[[email protected] ~]# setfacl -m g:zhangsan:rwx /opt/ta
例:重新设置/opt/ta文件的ACL规则,以前的设置将会被覆盖掉。
[[email protected]~]# setfacl --set u::rw,u:zhangsan:rw,g::r,o::- /opt/ta
注意:
o::-的完整写法是o::---,u::rw的完整写法是u::rw-。通常可以把“-”省略,但是当权限位只包含“-”时,至少应该保留一个。如果写成了o::,就会出现错误。
例:删除用户zhangsan对/opt/ta文件的ACL规则。
[[email protected]~]# setfacl -x u:zhangsan /opt/ta
例:修改/opt/ta文件的mask值。
[[email protected] ~]# setfacl -m mask:rw /opt/ta
例:为目录/opt/tt设置ACL规则。
[[email protected] ~]# setfacl -m d:zhangsan:rwx /opt/tt
例:设置/ok目录默认ACL。
[[email protected] ~]# setfacl -d --set g:zhangsan:rwx /ok