ACL访问控制列表
2024-08-26 08:28:36
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
最新文章
- MyBatis源码分析-SQL语句执行的完整流程
- Resource governor2:Configuration query
- Python内建的对象列表
- jquery noConflict详解
- hive和ORACLE语法对比
- ORACLE SQL前端补0的三种方式。
- ios tabbar 文字位置
- Excel两行交换及两列交换,快速互换相邻表格数据的方法
- Oracle 联合主键
- Effective C++ 学习总结
- HDU_1874——最短路问题,Dijkstra算法模版
- [学习opencv]高斯、中值、均值、双边滤波
- Spring mvc中junit测试遇到com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException错误怎么解决
- vncdotool - A command line VNC client
- Java中的字符串截取(substring)的使用
- Spring MVC 架构的java web工程如何添加登录过滤器
- ssm框架junit简单测试_我写
- PAT Waiting in Line[转载]
- Python小白学习之路(十一)—【局部变量和全局变量】【关键字global】【关键字nonlocal】
- 钉钉企业的CorpId 查看