控制对文件的访问
##学习目标:
*读取文件权限
*设定权限列表
*设备权限列表加载
1.权限列表的读取
[[email protected] Desktop]$ getfacl file
# file: file 文件名称
# owner: kiosk 文件所有人
# group: kiosk 文件所有组
user::rw- 用户权限
user:kiosk:rwx 特殊指派用户及权限
group::rw-组权限
mask::rwx可指派最大权限
other::r-- 其他人权限
2.setfacl 用于设置或修改文件的 ACL
*setfacl -m u:bob:rw filename
– 授予用户 bob 读写权限
*setfacl -m g:westos:rw filename
– 授予组 westos 读写权限
*setfacl -m g:redhat:r filename
– 授予组 redhat 读的权限
*setfacl -x u:bob filename
– 删除用户 bob 的 ACL 权限
* setfacl -m o::- filename
– 修改其他所有人的权限为空
* setfacl -b filename
- 自动删除授予的所有人,组和其他人的ACL权限
3.ACL 掩码及继承
*具有 ACL 的文件拥有一个“ mask” (掩码 ),这个掩码既能够限制拥有该文件的组的最大权限 ,有能 够限制 ACL中的补充用户和组所拥有的最大权限
*setfacl -m m:rwx file
*目录可以有“默认 ACL” 条目 ,系统自动针对在该目录中创建的新文件设置这些条目,这类似 setgid 权限的方法(针对目录时),使得在该目录中创建的新文件归拥有该目录的组所有。
*setfacl -m d:u:bob:rw directory
4.设备权限列表加载
*挂载文件系统之后 ,必须启用对 POSIX ACL 条目的支持
*安装程序会配置它创建的所有ext4 文件系统,以自动启用 ACL 支持
*tune2fs -l /dev/sda1 |grep "Default mount"
Default mount options:
user_xattr acl
*如果手动格式化文件系统 ,则需要使用ACL 挂载选项挂载该系统
*tune2fs -o user_xattr,acl /dev/sda1