3.ACL访问控制列表
ACL访问控制列表是一种可以实现灵活的权限管理的工具,它相比传统的文件权限来说它可以对文件属主、属组和其他人,做更多的权限设置。
在对文件设置了ACL之后的权限生效顺序:文件所有者、acl用户、acl组、其他人。acl可以为用户和组设置的访问权限读写和执行。在centos7之前的系统版本中用户自己新创建的分区默认是没有acl功能需要自己添加。
3.1 acl的选项参数
- getfacl 文件 或 目录 #查看文件或目录的acl权限
- setfacl - m u:用户名:权限 文件或目录 #可以使用模式方法也可以使用数字方法设置
- setfacl - R #R表示递归
- setfacl - M 配置文件 文件或目录 #M表示把配置文件里权限设置给后面的文件或者目录,你可以先写好一个权限保存在文件中来批量设置
- setfacl - m g:祖名:权限 #g表示组
- setfacl - m d:u:用户:rx #d选项表示创建默认权限不影响其他acl权限,加了d之后在目录下创建的文件都会获得父目录的设置默认acl权限
- setfacl - k #删除默认权限
- setfacl - x u:用户 #删除单个权限
- setfacl - X #X和M选线功能相似只不过X是按照文件的内容删除acl权限
- setfacl -b #删除所有acl权限
- setfacl -- set #set选项会把原来的acl设置用新的代替,相当于覆盖
3.2 acl的使用方法
[root@centos7.3 app]#getfacl dir/ #查看dir文件的acl权限信息
# file: dir/
# owner: root
# group: root
user::rwx
group::r-x
other::r-x #现在没有设置acl权限只能看到文件基础权限
设置权限
[root@centos7.3 app]#setfacl -m u:admin:rw dir/ #为admin设置权限
[root@centos7.3 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设置复制给另一个文件或目录
root@centos7.3 app]#getfacl dir |setfacl -set-file=- dir2
3.3 备份和恢复acl权限
[root@centos7.3 app]#getfacl -R dir > acl.txt #把dir目录和子文件的acl权限备份至acl.txt文件
[root@centos7.3 app]#setfacl -R --set-file=acl.txt dir #恢复acl权限
[root@centos7.3 app]#setfacl --restore acl.txt #第二种方法
Linux文件管理之用户权限,特殊权限和ACL访问控制列表(1)
Linux文件管理之用户权限,特殊权限和ACL访问控制列表(2)