问题:我们学过的所有者身份包含哪些?
答案:ugo,属主,属组,其他。
问题:我们学过的文件权限包含哪些?
答案:rwx,读写执行,特殊s,t
ACL,是 Access Control List(访问控制列表)的缩写,在 Linux 系统中, ACL 可实现对单一用户设定访问文件的权限。
1、基本命令
getfacl命令:查看文件的ACL策略及权限
setfacl命令: 给文件针对某个用户或者某个组来增加(设置)ACL策略
2、getfacl命令
3、setfacl命令
-m : 修改acl策略
-x :去掉某个用户或者某个组的权限
-b :删除所有的acl策略
-R :递归,通常用在文件夹
mask:mask定义除other和所有人(拥有者)外的最大权限
setfacl -m u:用户名:rwx /usr/local/shichangbu 给单个用户单独加权限
setfacl -m g:用户组名:rwx /usr/local/shichangbu 给单个组单独加权限
setfacl -x u:用户 /usr/local/shichangbu 去掉某个用户的权限
setfacl -x g:组名 /usr/local/shichangbu 去掉某个组的acl策略
setfacl -b -R /usr/local/shichangbu 删除所有的acl策略,递归子文件
例如:
setfacl -m u:user01:rw file1 针对于单个用户给可读可写权限
setfacl -m g:sysadmin:rw file1 针对于单个组给可读可写权限
示例代码1:给newuser01用户单独在市场部文件夹上增加rx权限
#mkidr /shichangbu
#cd /shichangbu
#touch file{1..5}.txt
#chown -R root:itheima shichangbu/
递归设置shichangbu文件夹的属主是root,属组是itheima
#getfacl shichangbu/
#useradd newuser01
#passwd newuser01
#setfacl -m u:newuser01:rx -R /usr/local/shichangbu/
单独设置newuser01对于shichangbu文件夹的rx权限,并且递归包含所有子文件
#getfacl /usr/local/shichangbu
查看/usr/local/shichangbu文件夹的ACL权限
验证newuser01用户对于file1文件只有读权限
示例代码2:给newusergrp组在市场部文件夹上增加rx权限,递归所有子文件
#groupadd newusergrp
#setfacl -m g:newusergrp:rx -R /usr/local/shichangbu/
单独设置newusergrp组对于shichangbu文件夹的rx权限,并且递归包含所有子文件
#getfacl /usr/local/shichangbu/
setfacl命令解释
示例代码3:删除所有acl策略