使用ACL设置linux文件权限继承

使用ACL设置linux文件权限继承,linux,acl,ubuntu-14.04,Linux,Acl,Ubuntu 14.04,我正试图找出linux文件权限继承。作为root,我创建了一个用户dadadams 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 使用ACL再次更改组权限 setfac

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

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
使用ACL再次更改组权限

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

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

这是因为在默认情况下为文件指定+x是没有用的——mp3和png文件是不可执行的,设置可执行标志只会混淆用户和工具

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


PS:考虑使用<代码>:WWW数据:RWX < /代码>如果您希望<代码> WWW数据< /代码>组拥有权限,无论哪个组拥有该文件。

我的代码“dAAMS< <代码> >用户>代码> 0022 或<代码> U= RWX,G= RX,O= RX。这仍然不符合
test.txt
文件的权限,了解+x肯定很好。那会让我发疯的。关于
g:www-data:rwx
的另一个好提示。我想我更明白一点。谢谢