文件的访问控制(acl列表)
(1)acl定义
acl = access control
指定特殊用户对特殊文件有特殊权限
drwxrwx---+ 2 root root 17 Jul 18 01:39 /westos/
^
表示/westos目录时有权限列表
getfacl /westos/
file: westos/ ##文件名称
owner: root ##文件所有人
group: root ##文件所有组
user::rwx ##拥有者权限
user:student:rwx ##特殊用户权限
group::--- ##组权限
mask::rwx ##权限掩码
other::--- ##其他人权限
注意:当文件上有权限列表时,ls -l 能看到的权限是假的
#查看
getfacl file
#内容如下:
file: file #文件名称
# owner: root #文件的拥有者
# group: root #文件的组
user::rwx #文件拥有者的权限
group::rwx #文件组的权限
mask::rwx #权限最大值
other::rwx #其他人的权限
##设定
设定acl列表
设定方法为:
setfacl -m <u|g>:<username|groupname>:权限 文件|目录
-m #设定
u #用户
g #组
d ##默认设定权限,只对该目录内新建的文件和目录有效,对本目录及目录内原有的文件和目录无效。
- 1
- 2
- 3
- 4
- 5
如下图所示,setfacl这只acl列表后,ls -l 查询文件权限,权限中带有+,此时应使用getfacl 文件名,可查看文件详细完整的权限(ls -l
查询的权限是不完整的)。
删除列表中的用户或者组
setfacl -x <u|g>:<username|groupname> 文件|目lu
删除列表中的用户,在使用getfacl查看就发现列表中没之前添加的用户了。如上图所示。
关闭列表
setfacl -b 文件|目录
如下图所示
6.acl mask值
(1)mask 权限掩码
mask用来标实能够赋予用户最大权限
当用chmod改变文件普通权限时可能会被破坏
修复
setfacl -m m:rwx /mnt/file #用此命令可以恢复mask的值
用户westos的权限是rwx,设定mask为rw,getfacl则提示westos的有效权限为rw。如下图所示
####acl列表的默认权限#####
#权限针对与目录生效
#当对目录设定普通的权限列表后,是不能取定特定用户对在目录中新建的文件由指定权限的
#如果需要权限自动添加到新建文件上那么要设定目录的默认权限
setfacl -m d:u:student:rwx /mnt/westos ##设定在westos目录中
注意:
默认权限只对目录中新建立的文件或者目录生效,对已经建立的文件无效,对于目录本身也无效
如下图所示,对目录linux设置默认权限后,切换到hello用户,删除linux中原有的文件时,系统报错:无权限
![](https://i-blog.csdnimg.cn/blog_migrate/d4c2d8241d73ff8604bd8e0058a897f1.png)