【问题标题】:setting linux file permission inheritance using acls [closed]使用acls设置linux文件权限继承[关闭]
【发布时间】:2014-08-14 16:47:24
【问题描述】:

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

adduser dadams

改变了它的主要组

usermod -g www-data dadams

创建目录

mkdir /var/blah

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

chgrp -R www-data /var/blah
chmod -R g+rwx /var/blah

设置新的内容组继承

chmod g+s /var/blah

再次使用 acls 更改了组权限

setfacl -d -m g::rwx /var/blah

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

su dadams
touch /var/blah/test.txt

但新文件的权限不是我所期望的。我希望该组拥有所有权限,但我得到以下。

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 文件权限。我错过了什么?

【问题讨论】:

  • 我的dadams 用户的umask 是0022u=rwx,g=rx,o=rx。这仍然不符合test.txt文件的权限

标签: linux acl ubuntu-14.04


【解决方案1】:

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

这是因为默认情况下在文件上给人们 +x 没有用 - mp3 和 png 文件不可执行,设置可执行标志只会混淆用户和工具。

如果您改为 mkdir 一个目录或使用 gcc 编译一个可执行文件,该组将得到+x,因为在目录和可执行文件上这是有意义的。

PS:如果您希望www-data 组拥有权限,而不管哪个组拥有该文件,请考虑使用g:www-data:rwx

【讨论】:

  • 很高兴知道 +x。那会让我发疯的。 g:www-data:rwx 的另一个好建议。我想我明白了一点。谢谢!
猜你喜欢
  • 1970-01-01
  • 2013-07-18
  • 2017-02-24
  • 1970-01-01
  • 2010-12-04
  • 2013-06-10
  • 1970-01-01
  • 1970-01-01
  • 2017-07-03
相关资源
最近更新 更多