Linux文件管理之用户权限,特殊权限和ACL访问控制列表(3)

3.ACL访问控制列表

ACL访问控制列表是一种可以实现灵活的权限管理的工具,它相比传统的文件权限来说它可以对文件属主、属组和其他人,做更多的权限设置。
在对文件设置了ACL之后的权限生效顺序:文件所有者、acl用户、acl组、其他人。acl可以为用户和组设置的访问权限读写和执行。在centos7之前的系统版本中用户自己新创建的分区默认是没有acl功能需要自己添加。

3.1 acl的选项参数

  1. getfacl 文件 或 目录 #查看文件或目录的acl权限
  2. setfacl - m u:用户名:权限 文件或目录 #可以使用模式方法也可以使用数字方法设置
  3. setfacl - R #R表示递归
  4. setfacl - M 配置文件 文件或目录 #M表示把配置文件里权限设置给后面的文件或者目录,你可以先写好一个权限保存在文件中来批量设置
  5. setfacl - m g:祖名:权限 #g表示组
  6. setfacl - m d:u:用户:rx #d选项表示创建默认权限不影响其他acl权限,加了d之后在目录下创建的文件都会获得父目录的设置默认acl权限
  7. setfacl - k #删除默认权限
  8. setfacl - x u:用户 #删除单个权限
  9. setfacl - X #X和M选线功能相似只不过X是按照文件的内容删除acl权限
  10. setfacl -b #删除所有acl权限
  11. setfacl -- set #set选项会把原来的acl设置用新的代替,相当于覆盖

3.2 acl的使用方法

[[email protected] app]#getfacl dir/  #查看dir文件的acl权限信息
# file: dir/
# owner: root
# group: root
user::rwx 
group::r-x 
other::r-x          #现在没有设置acl权限只能看到文件基础权限

设置权限

[[email protected] app]#setfacl -m u:admin:rw dir/ #为admin设置权限
[[email protected] app]#getfacl dir/  #查看权限
# file: dir/
# owner: root
# group: root
user::rwx  
user:admin:rw- #设置的admin的权限
group::r-x  
mask::rwx #mask值是acl权限的上线,mask是除了所有者和其他的之外的人和组的最大权限
other::r-x 

在设置了acl权限之后文件的属组权限和mask值是绑定的

3.2 在acl中可以把一个文件或目录的acl设置复制给另一个文件或目录

[email protected] app]#getfacl dir |setfacl -set-file=- dir2 

3.3 备份和恢复acl权限

[[email protected] app]#getfacl -R dir > acl.txt #把dir目录和子文件的acl权限备份至acl.txt文件
[[email protected] app]#setfacl -R --set-file=acl.txt  dir #恢复acl权限
[[email protected] app]#setfacl --restore acl.txt #第二种方法

Linux文件管理之用户权限,特殊权限和ACL访问控制列表(1)
Linux文件管理之用户权限,特殊权限和ACL访问控制列表(2)

你可能感兴趣的:(Linux文件管理之用户权限,特殊权限和ACL访问控制列表(3))