我已经阅读了很多类似解决方案,但似乎没有一个对我有用。我有一个共享开发箱,用于一些需要此类东西的项目,我想对其进行配置,以便用户在目录中创建的文件/opt/dev
:
- 归以下公司所有
<username>:developers
- 将权限设置为
774
(文件) - 将权限设置为
775
(目录)
所有开发者用户都已设置其主要组,developers
因此第一个要求非常可靠。实际权限则不那么可靠。它们没有按照我们需要的方式一致地设置,我还没有找到正确的解决方案。
我确实根据我读过的其他内容设置了粘性位(g+s
),但那不会似乎由于所有用户都属于同一个主要组,因此特别有用。
我还将默认umask
设置为002
。/etc/login.defs
我以为这样可以覆盖它,但事实似乎并非如此。
我非常感激任何关于如何正确排列所有东西的建议。我感觉我一直在调整这里的文件和那里的目录,只是为了让人们能够完成他们的工作。
答案1
好的,对于第 1 点,解决方案非常简单:
chgrp developers /opt/dev
对于第 2 点和第 3 点,我想您需要ACL
。因此,要做的第一件事是编辑/etc/fstab
以将选项提供给acl
的挂载点/opt/dev
。如果/opt/dev
不在单独的分区上,您需要ACL
为整个根文件系统启用 。
然后你必须遵循这个答案。
chmod g+s /opt/dev
应该等同于chgrp developers /opt/dev
(并且不设置位sticky
,s
设置位suid
)。
然后继续setfacl
:
setfacl -d -m g::rwx /opt/dev //set group to rwx default
setfacl -d -m o::rx /opt/dev //set other
为文件和目录设置高级权限标准。说实话,我找不到设置单独文件和目录权限的方法,但我很确定这是可行的。你可以尝试本教程获得有关该主题的更多信息。