使用ACL设置linux文件权限继承
我正试图找出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
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
的另一个好提示。我想我更明白一点。谢谢