-
acl是基于文件系统的,所以支不支持acl在于使用什么文件系统。
FAT32文件系统不支持权限,也不区分大小写 -
如果一个分区不是安装系统时分的分区,是一个新的分区的话,默认是不支持acl
CentOS7 之前版本,默认手工创建的ext4文件系统无ACL功能,需手动增加
tune2fs –o acl /dev/sdb1
mount –o acl /dev/sdb1 /mnt/test
- CentOS7 默认创建的xfs和ext4文件系统具有ACL功能
ACL生效的顺序
- 顺序:所有者------->自定义用户------->自定义组------->其他人
[root@centos7 aubin]# getfacl file
# file: file
# owner: root
# group: root
user::rw- #所有者
user:aubin:-w- #自定义用户
group::r-- #冒号中间为空,指的是所属组
group:aubin:--- #自定义组
mask::rw-
other::r--
- 权限的最后一位变成 + 这里设置了acl
[root@centos7 app]# ls -al
-rw-r--r--+ 1 root root 8 Jul 25 09:54 file
- ACL写权限
- acl只给用户写权限,不给读权限。那么用户无法查看文件内容。
用户可以追加,但是直接编辑会覆盖
[root@centos7 app]# setfacl -m u:aubin:w file
acl的设置与查看
- acl的设置与删除
#设置用户的acl权限
[root@centos7 aubin]# setfacl -m u:aubin:rw fstab
#设置组的acl权限
[root@centos7 aubin]# setfacl -m g:root:rx fstab
[root@centos7 aubin]# getfacl fstab
# file: fstab
# owner: aubin
# group: aubin
user::---
user:aubin:rw-
group::rw-
group:root:r-x
mask::rwx
other::---
#
#删除指定的acl权限
[root@centos7 aubin]# setfacl -x g:root fstab
acl的递归
- acl的复制与清除
#复制文件的acl权限
[root@centos7 aubin]# getfacl fstab | setfacl --set-file=- file
#清除acl的默认
[root@centos7 aubin]# setfacl -k fstab
#删除所有的acl权限
[root@centos7 aubin]# setfacl -b fstab
acl的备份与恢复
主要的文件操作命令cp和mv都支持ACL,只是cp命令需要加上-p 参数。但是tar等常见的备份工具是不会保留目录和文件的ACL信息
#将acl信息重定向到acl.bak
[root@centos7 aubin]# getfacl -R fstab > ./acl.bak
[root@centos7 aubin]# cat acl.bak
# file: fstab
# owner: aubin
# group: aubin
user::---
user:aubin:rw-
group::rw-
mask::rw-
other::---
#清除文件或文件夹的acl规则
[root@centos7 aubin]# setfacl -R -b fstab
#恢复
[root@centos7 aubin]# setfacl -R --set-file=acl.bak /app/aubin/fstab
网友评论