Linux 系统标准的 ugo/rwx 集合并不容许为不一样的用户配置不一样的权限,因此 ACL 便被引入了进来,为的是为文件和目录定义更加详细的访问权限,而不单单是这些特别指定的特定权限。less
ACL 能够为每一个用户,每一个组或不在文件所属组中的用户配置相应的权限。ACL 可以使用 setfacl 来设置(和移除),可相应地使用 -m 或 -x 选项。测试
例如,建立一个名为 aliyun 的组,并将用户 uread 和 uwrite 加入该组:spa
groupadd aliyun
code
useradd -G aliyun -M uread -p uread
regexp
useradd -G aliyun -M uwrite -p uwrite
blog
在 /alidata 共有5个 txt 文件,只能 root 用户进行修改,其余用户只读。ip
uread 用户尝试修改文件,提示没有权限get
使用 setfacl 修改权限,使 aliyun 组对 alidata 下 1.txt 文件可读写。string
1. 修改前先查看一下1.txt 文件权限it
getfacl /alidata/1.txt
2. 使用以下指令进行配置:
setfacl -m g:aliyun:rw /alidata/1.txt
3. 修改后权限 aliyun 组对1.txt 文件有写权限:
4. 测试添加的权限,uread 和 uwrite 均可以读写 1.txt
5. 去掉 uread 的写权限
setfacl -m u:uread:r /alidata/1.txt
6. 测试 uread 已经不能修改文件了
7. 去除权限 1.txt 的权限
setfacl -x u:uread /alidata/1.txt
setfacl -x g:aliyun /alidata/1.txt