setfacl命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了setfacl命令相关的知识,希望对你有一定的参考价值。

Setfacl  文件权限属性设置

setfacl命令是用来在命令行里设置ACL(访问控制列表).


注意点

如果你的文件系统不支持ACL的话,你也许需要重新mount你的file system: mount -o remount, acl [mount point] 

如果用chmod命令改变Linux file permission的时候相应的ACL值也会改变,反之改变ACL的值,相应的file permission也会改变。


规则格式

setfacl命令可以识别以下的规则格式: 

[d[efault]:] [u[ser]:]uid [:perms] 指定用户的权限,文件所有者的权限(如果uid没有指定)。 

[d[efault]:] g[roup]:gid [:perms] 指定群组的权限,文件所有群组的权限(如果gid未指定) 

[d[efault]:] m[ask][:] [:perms] 有效权限掩码 

[d[efault]:] o[ther] [:perms] 其他的权限


命令格式

  1. setfact -m u:user:rwx file 

  2. setfacl -m user:kim:rwx test

  3. setfacl -b test

  4. setfacl -x u:kim: test

  5. getfacl file


选项

-b,--remove-all:删除所有扩展的acl规则,基本的acl规则(所有者,群组,其他)将被保留。 

-k,--remove-default:删除缺省的acl规则。如果没有缺省规则,将不提示。 

-n,--no-mask:不要重新计算有效权限。setfacl默认会重新计算ACL mask,除非mask被明确的制定。 --mask:重新计算有效权限,即使ACL mask被明确指定。 

-d,--default:设定默认的acl规则。 对目录有效

--restore=file:从文件恢复备份的acl规则(这些文件可由getfacl -R产生)。通过这种机制可以恢复整个目录树的acl规则。此参数不能和除--test以外的任何参数一同执行。 

--test:测试模式,不会改变任何文件的acl规则,操作后的acl规格将被列出。 

-R,--recursive:递归的对所有文件及目录进行操作。 

-L,--logical:跟踪符号链接,默认情况下只跟踪符号链接文件,跳过符号链接目录。 

-P,--physical:跳过所有符号链接,包括符号链接文件。 

--version:输出setfacl的版本号并退出。 

--help:输出帮助信息。 --:标识命令行参数结束,其后的所有参数都将被认为是文件名 -:如果文件名是-,则setfacl将从标准输入读取文件名。

选项-m和-x后边跟以acl规则。多条acl规则以逗号(,)隔开。选项-M和-X用来从文件或标准输入读取acl规则。 

选项--set和--set-file用来设置文件或目录的acl规则,先前的设定将被覆盖。 

选项-m(--modify)和-M(--modify-file)选项修改文件或目录的acl规则。 

选项-x(--remove)和-X(--remove-file)选项删除acl规则。


常用实例

  1. setfact -m u:user:rwX file 增加user对file的rwx权限 (X 表示如果目录或文件在改变之前有x权限则新增,没有则不处理.)

  2. setfacl -m user:kim:rwx test 增加user对file的rwx权限 

  3. setfacl -b test 清空所有file的acl权限

  4. setfacl -x u:kim: test 删除file的acl权限

  5. getfacl file  查看file的权限

  6. setfacl -R -m u:user:rwX dir 增加user对dir目录的rwx权限

  7. setfacl -R -b dir 清除dir目录下所有acl权限


        



本文出自 “Linux” 博客,请务必保留此出处http://837244.blog.51cto.com/827244/1978686

以上是关于setfacl命令的主要内容,如果未能解决你的问题,请参考以下文章

setfacl命令的基本用法

setfacl命令

Linux命令setfacl命令基本用法(文件权限设置)

ACL权限设置命令setfacl

setfacl命令基本用法

setfacl命令