by Devin Yang

建立于: 5年前 ( 更新: 5年前 )

我想现在的Linux大多支持Access Control List (ACL)。在文件系统ACL激活的情况下,
我们可以设置额外的权限给不同的使用者或群组。
这让我们更加自由的来设置不同使用者的文件系统权限。

直接来看命令。
下方的u代表了设置share数据夹,给test的使用者有rwx权限。
setfacl -m u:test:rwx share/
换成g,则代表了,设置test的群组对share/数据夹有rwx权限。
setfacl -m g:test:rwx share/
如果要设置目录下也含子目录的所有文件,参数是-R。(递归)
合起来输入就是-Rm。

问题来了,如果这么设置,全部的文件都变成有运行的权限。所以如何设置
文件是没有x的权限,只有目录才有x的运行权限(进入目录的权限)。
非常简单,我们可以用大写的X搞定。
例如:
setfacl -Rm u:git:rwX /var/www
这样就会有漂漂的颜色,而不是一片惨绿了。

另外提一下,我们用getfacl取得额外的文件信息。
例如:我用root设置了git使用者,如下权限。
setfacl -Rm u:git:rwX humanity-1.10.4/
使用git使用者查看

在上图中,大家是否有注意到了,-rw-rw-r--+。在ls -l时,多了一个+
非常显而易见,就代表了,这个文件,有额外的ACL权限设置罗。

现在用getfacl images来看看images目录的使用者(user)权限,是有运行权限的。

如果您喜欢这篇文章,请给我个Like吧? 

 

Tags: linux

Devin Yang

文章内容无法一一说明,如果您有什么不了解处,欢印提问哦:)

No Comment

Post your comment

需要登入才可留言!

类似文章


linux,docker,wifi

用docker创建WPA2/EAP企业用Radius验证伺服器,后端使用mysql数据库

AP提供了WPA2/EAP功能,但不会用吗? 本文介绍我如何透过docker的ubuntu:21.04 image,极速创建Radius伺服器, 与Wifi的WPA2/EAP等相关运用。

linux

公钥验证之多个ssh的组态档

我们使用ssh公钥验证时,通常会在~/.ssh/config添加相关设置。 如果说有些是公司用的或是家里用的,是否可以使用多个config呢? 其实可以的,我们能git透过Include加载公司共用,有版本控制的config。

linux,system,config

修正CentOS6.x无法再更新的问题

有些地方或许还存在一些老旧进程,只能跑旧的系统。但又希望能运行及安装一些想要的包,您或许可以试这招请注意,如果这个系统对您很重要,请自行评估,建议您是Docker环境,并且有备份了image才可尝试。