-
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
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-07/145950.htm