Linux文件权限一般针对的都是(user,group,others)三种身份,那么有没有单纯针对一个或多个用户或者一个或多个用户组的权限设定呢,这里就要提到ACL机制了。
ACL(Access Control List)主要用于:
针对一个或多个用户单独设置权限。
针对一个或多个用户组单独设置权限。
针对目录设置指定的用户或用户组在该目录下新建文件或目录时的默认权限。
ACL的启用:
首先我们可以利用df命令查看想要找到的文件系统,如图
可以看到文件系统
然后利用dumpe2fs -h命令查看该文件系统的superblock,如图
可以看到acl支持
如果确定要每次开机都支持,则可以利用vim等编辑器自行修改/etc/fstab这个文件。
ACL的查询:
命令:getfacl
用法如图:
更多的参数请参考man getfacl
ACL的设置:
命令:setfacl
常用参数:
-m修改文件或目录的acl参数
-x删除文件或目录的acl参数
-d设置目录的默认acl参数
-k删除默认acl参数
-b删除所有acl参数设置
-R递归设置目录及其包含的文件和子目录
使用方式:
针对特定用户的方式:setfacl -m u:用户列表:rwx
请注意user列
并且该文件权限部分后面出现了一个+号
针对特定用户组的方式:setfacl -m g:用户组列表:rwx
请注意group列
针对有效权限mask的设置方式:setfacl -m m:rwx
mask已改变,用户或用户组所设置的权限必须在mask范围内才能有效
针对默认权限的设置方式:setfacl -m d:u或g:用户或用户组列表:rwx,设置默认权限后,指定用户或用户组在该目录下新建的文件或目录都具有设置的默认权限,请自行尝试。