Linux ACL权限设置(setfacl和getfacl)

1、getfacl

作用:用于查看文件或者目录当前设定的ACL权限信息,经常和setfacl一起使用。
格式:getfacl 文件名

2、setfacl

作用:直接设定用户或者群组对指定文件的访问权限。
格式:setfacl 选项 文件名

2.1 关于选项的解释

-m:设定ACL权限

  • 针对用户:使用格式“u:用户名:权限”,例如 setfacl -m u:st:rx /project 表示设定 st 用户对 project 目录具有 rx 权限;
  • 针对群组:使用格式“g:组名:权限”,例如 setfacl -m g:tgroup:rx /project 表示设定群组 tgroup 对 project 目录具有 rx 权限。

-x:删除指定用户和群组的ACL权限

  • 针对用户:使用格式“u:用户名”,例如 setfacl -x u:st /project 表示删除用户st对project目录的ACL权限;

  • 针对群组:使用格式“g:群组名”,例如 setfacl -x g:tgroup /project 表示删除群组tgrope对目录project的ACL权限。

-b:删除所有的ACL权限

  • 例如 setfacl -b /project 表示删除有关 project 目录的所有 ACL 权限。

-d :设定默认 ACL 权限

  • 命令格式为 “setfacl -m d:u:用户名:权限 文件名”(如果是群组,则使用 d:g:群组名:权限),该选项只对目录生效,指目录中新建立的文件拥有此默认权限,例如 setfacl -m d:u:st:rx /project 表示 st 用户对 project 目录中新建立的文件拥有 rx 权限。

-R:递归设定ACL权限

  • 指设定的 ACL 权限会对目录下的所有子文件生效,命令格式为 “setfacl -m u:用户名:权限 -R 文件名”(群组使用 g:群组名:权限),例如 setfacl -m u:st:rx -R /project 表示 st 用户对已存在于 project 目录中的子文件和子目录拥有 rx 权限。

-k:删除默认 ACL 权限

你可能感兴趣的:(#,权限,linux)