首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用acls设置linux文件权限继承

使用acls设置linux文件权限继承
EN

Stack Overflow用户
提问于 2014-08-14 16:47:24
回答 1查看 4.9K关注 0票数 0

我正在试图找出linux文件权限继承。作为root,我创建了一个用户dadams

代码语言:javascript
运行
复制
adduser dadams

改变了它的主组

代码语言:javascript
运行
复制
usermod -g www-data dadams

创建目录

代码语言:javascript
运行
复制
mkdir /var/blah

将其组更改为www-data,并添加了读、写和执行权限

代码语言:javascript
运行
复制
chgrp -R www-data /var/blah
chmod -R g+rwx /var/blah

设置新的内容组继承

代码语言:javascript
运行
复制
chmod g+s /var/blah

再次使用acls更改组权限。

代码语言:javascript
运行
复制
setfacl -d -m g::rwx /var/blah

然后我更改为我的新用户dadams并创建了一个文件

代码语言:javascript
运行
复制
su dadams
touch /var/blah/test.txt

但是新文件的权限不是我所期望的。我希望这个组拥有所有的权限,但是我得到了以下内容。

代码语言:javascript
运行
复制
dadams@mybox:/var/blah$ ls -la
total 8
drwxrwsr-x+  2 root   www-data 4096 Aug 14 16:40 .
drwxr-xr-x  14 root   root     4096 Aug 14 16:29 ..
-rw-rw-r--   1 dadams www-data    0 Aug 14 16:30 test.txt

我显然不理解linux文件权限。我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-14 18:54:27

即使umask/acl说一个文件应该有+x,它实际上也不会发生,除非应用程序说该文件应该是可执行的(通过open(2) syscall中的标志)。

这是因为默认情况下给人+x文件是没有用的-- mp3和png文件是不可执行的,设置可执行标志只会让用户和工具感到困惑。

如果您使用mkdir目录或使用gcc编译可执行文件,则该组将获得+x,因为对于目录和可执行文件,这是有意义的。

PS:如果您希望www-data组具有权限,则可以考虑使用www-data,而不管哪个组拥有该文件。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25313372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档