在linux中相对于文件管理 传统的 UGO 模型 无法完成我们的日常作业需求 所以linux还设置了ACL权限
使用 getfacl 文件路径 可以查看文件的ACL 设置
模版
==========================================================
# file: file 文件名称
# owner: kiosk 文件所有人
# group: kiosk 文件所有组
user::rw- 用户权限
user:kiosk:rwx 特殊指派用户及权限
group::rw- 组权限
mask::rwx 可指派最大权限
other::r-- 其他人权限
==============================================================
使用setfacl 修改文件的ACL
setfacl -m u:bob:rw filename 授予用户 bob 读写权限
setfacl -m g:westos:rwfilename 授予组 westos 读写权限
setfacl -m g:redhat:r filename 授予组 redhat读的权限
setfacl -x u:bob filename 删除用户 bob 的 ACL 权限
setfacl -m o::- filename 修改其他所有人的权限为空
=============================================================
ACL 掩码
ACL 中有一个属性叫作mask值 这个mask值能够限制ACL中补充的用户及组的最大权限
最大权限值为 mask值补码
ACL 继承
对于目录设置 ACL 叫做 “默认ACL条目” 系统会自动针对在该目录中创建的新文件设置这些条目
setfacl -m d:u:user:rwxdirectorty
=============================================================
挂载文件系统之后 , 必须启用对 POSIX ACL 条目的支持
安装程序会配置它创建的所有 ext4 文件系统 , 以自动启用 ACL 支持
tune2fs -l /dev/sda1 |grep "Default mount"Default mountoptions:user_xattr acl
如果手动格式化文件系统 , 则需要使用 acl 挂载选项挂载该系统
tune2fs -o user_xattr,acl /dev/sda1w