acl权限

1,为何要使用acl权限

我们已知的文件管理者有三种:属主,属组,其他。当这三种不满足我们所需要的权限时,我们应该考虑使用一种新的权限,就是acl权限

例:一个文件123

属主:root   权限rwx

属组: root   权限rwx

其他:无权限

现在有一个用户user只能读和执行权限,没有修改权限,即user对文件123的权限为rx,我们不能把user加到属主或者属组里面,这时就可以使用acl权限。

2,查看acl权限

用法:getfacl  文件名

acl权限_第1张图片

此时文件123无acl权限,并且属主和属组都是root,文件权限为770。

 当权限位后面有+号时,表示拥有了acl权限。

3,设定acl权限

用法:setfacl  选项   文件名

常用选项:-m 设定acl权限

       -x   删除指定的acl权限

       -b   删除所有的acl权限

       -R   递归设定acl权限

例:给user用户设定rx权限

 acl权限_第2张图片

-m 表示设置acl权限,u表示给用户设置,user表示这个用户是user,rx表示赋予的是读执行权限,123是文件名。

设定完成以后查看,会发现在用户下多了一个用户user有读执行权限。

例:给user组设定rx权限

acl权限_第3张图片

当把u换成g时,表示给用户组user设定权限。

例:给文件123设置最大权限(root除外)

acl权限_第4张图片

 当不给用户和用户组设定权限时,换成m,就表示修改对文件的最大权限,设置完以后表示,只有root用户拥有rwx权限,其他用户虽然设置了rx权限,但后面注明了最大权限只有r。

例:给user用户设定对bak目录的读执行权限,并让其目录下的文件或目录继承其权限。

此时bak目录没有acl权限

设定以后其目录下的文件就有了acl权限。

注:此方法只会给目录下原有的文件添加acl权限,而不会给新建的文件添加acl权限。

 acl权限_第5张图片

 如果想新建的文件或者目录继承其acl权限,需要使用默认acl权限。

acl权限_第6张图片

我们发现,原来的文件file1.txt没有acl权限,而新建的文件file2.txt有了acl权限。

总结:acl权限是当只有属主,属组,其他人都不能满足权限时需要用到的权限,它可以给普通用户赋予对某个文件或目录特殊的权限。

getfacl   文件名   查看acl权限

setfacl   -m   u:用户名:权限   文件名/目录      给用户赋予acl权限

setfacl   -m   g:组名:权限   文件名/目录         给组赋予acl权限

setfacl    -m    m:权限    文件名/目录               给文件赋予最大权限(root除外)

setfacl   -m     u:用户名:权限    -R   目录    给目录递归赋予acl权限(目录下新建的没有权限)

setfacl   -m     d:u:用户名:权限     目录     给目录下新建的文件或目录赋予acl权限 (已有的文件或者目录没有acl权限) 

你可能感兴趣的:(linux)