一. 概念:mysql
ACL是Access Control List(访问控制列表)的缩写,用于linux复杂的用户权限控制当中。linux
Cent7系统以前,只有系统安装时建立的文件系统支持ACL,后来建立的文件系统则不支持。sql
Cent7系统后,无论文件系统是否在安装系统时被创建,都支持ACL。测试
二. 命令:blog
getfacl:用于查看ACL权限。递归
setfacl:用于设置ACL权限。ip
三. 用法:rem
1. 查看文件或目录权限get
getfacl 文件/文件夹名权限控制
例如:
2.修改用户对文件或目录的权限
setfacl -m u:uname:access 文件/文件夹名
我将我我的对/root文件夹的访问权限改为了可读可写,而组内用户有读权限,组外用户无任何权限。
接下来进行测试:
的确,young用户因为被赋权。因此能够在/root目录下进行读写;而mysql用户因为未被赋权,且不在root组内,故什么权限都没有。
测试完毕后,咱们使用setfacl -b /root取消刚才添加的ACL权限。
测试完毕。
Tips:
setfacl -m u:uname:access -R 文件夹名:递归修改文件夹下全部子目录和文件的访问权限。
3. 修改组对文件或目录的权限:
setfacl g:gid:access 文件/目录路径,用法与给用户赋权一致,故再也不赘述。
4. 移动/复制文件或目录时须要注意的点:
移动文件/目录时,默认连带ACL权限一块儿移动。
复制文件时,默认不保留权限;须要加使用cp -p命令,才保留权限。
5. 挂载时须要注意的点:
如原来的文件系统不支持ACL权限,咱们能够将其从新挂载。
mount -o remount, acl 挂载点