AI智能
改变未来

Linux:ACL策略 acl Access Control List


ACL策略 acl Access Control List

Linux对文件的基本权限只针对UGO,如果我出现以下需求,这些基本权限就无法满足:我是root,我不想给任何人任何权限,但是有一天,我想只对一个人开放权限,而且他不是我的组成员,我也不想把他加入组成员,此时如果我打开O的权限,那么就会有很多人拥有了权限,此时基本权限根本无法满足我的需求。ACL策略此时就非常有用了。

ACL抛开对用户UGO的判断,可以实现点对点的赋予权限

查看ACL是否启动:

dmesg | grep -i acl

ACL基本的设定:

setfacl -m u:用户名:rwx 文件名

查看一个文件是否有ACL策略:

getfacl 文件名

移除ACL策略:

setfacl -k 文件名

值得注意的是,对一个文件添加了ACL策略,那么文件的mask有可能会发生改变,会造成即使给特定的人设置了权限,也有可能不生效,此时就要对文件的mask进行修改

mask值
#mask值是能够赋予用户权限的最大值
#当设定acl列表后,如果用chmod命令缩小文件的权限,那么mask值会被更改

比如:所有人都没有权限,你只给了zhu权限,但是由于mask是—,造成zhu的特权也无法生效,此时就要修改mask为rwx即可生效。

设定单个文件的mask:

setfacl -m m:rwx 文件名

如果对目录进行了ACL设定,而且希望他下面新创建的文件继续继承这个策略,可以这样设置:

setfacl -m d:u:用户名:权限 目录名

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » Linux:ACL策略 acl Access Control List