内容来源于人民邮电出版社《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权限。
[root@rhel ~]# setfacl -m u:zhangsan:rwx /opt/ta
例:为组群zhangsan设置ACL,使其对/opt/ta文件具有rwx权限。
[root@rhel ~]# setfacl -m g:zhangsan:rwx /opt/ta
例:重新设置/opt/ta文件的ACL规则,以前的设置将会被覆盖掉。
[root@rhel~]# setfacl --set u::rw,u:zhangsan:rw,g::r,o::- /opt/ta
注意:
o::-的完整写法是o::---,u::rw的完整写法是u::rw-。通常可以把“-”省略,但是当权限位只包含“-”时,至少应该保留一个。如果写成了o::,就会出现错误。
例:删除用户zhangsan对/opt/ta文件的ACL规则。
[root@rhel~]# setfacl -x u:zhangsan /opt/ta
例:修改/opt/ta文件的mask值。
[root@rhel ~]# setfacl -m mask:rw /opt/ta
例:为目录/opt/tt设置ACL规则。
[root@rhel ~]# setfacl -m d:zhangsan:rwx /opt/tt
例:设置/ok目录默认ACL。
[root@rhel ~]# setfacl -d --set g:zhangsan:rwx /ok
本文详细介绍了 Linux 下 setfacl 命令的使用方法,包括设置、修改和删除文件及目录的 ACL 权限。通过具体实例展示了如何针对用户、组群和其他用户设置不同的访问权限。
2932





