setacl

使用setacl 测试acl_test 给用户user1读写权限

-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将从标准输入读取文件名。

[root@lyytest]# touch acltest 建立文件

[root@lyy test]# ll acltest

-rw-r--r-- 1 rootroot 0 12-07 20:28 acltest

[root@lyytest]# setfacl -m u:user1:rw acltest 设定user1拥有读写权限

[root@lyy test]# ll

-rw-rw-r--+ 1 rootroot 0 12-07 20:28 acltest


通过ll来查看,发现权限里多了个+

简单使用 setfacl -mu:使用者:权限 就可以设定权限了。

3、查看权限 getfacl


[root@lyy test]#getfacl acltest

#file: acltest 说明 

#owner: root 拥有者

#group: root 所属群组

user::rw- 使用者列表是空的,代表拥有者的权限

user:user1:rw- 针对user1授权读写

group::r-- 组

mask::rw- 预设有效权限

other::r-- 其他人

mask:使用者和群组所设定的权限必须在mask范围内才有效。

预设下,acl不会被次目录所继承,要继承使用参数d

例:

[root@lyy tmp]#setfacl -m g:pc:rwx test

[root@lyy tmp]# cdtest

[root@lyy test]#mkdir group

[root@lyy test]# llgroup/ -d

drwxr-xr-x 2 rootroot 4096 12-07 20:47 group/

使用d参数让次目录继承

[root@lyy test]#setfacl -m d:g:pc:rwx ./test/

[root@lyy test]# ll-d

drwxr-xr-x 3 rootroot 4096 12-07 20:51 .

[root@lyy test]# lltest -d

drwxr-xr-x+ 2 rootroot 4096 12-07 20:51 test

[root@lyy test]# cdtest

[root@lyy test]#mkdir baidu

[root@lyy test]# ll

命令格式: setfacl -md:u:使用者:权限

4、取消ACL

命令: setfacl -b 档名

例:

[root@lyytest]# setfacl -b test/ 取消ACL

[root@lyy test]# ll

drwxr-xr-x 3 root root 4096 12-07 20:52 test 出现没有+

你可能感兴趣的:(setacl)