我已经阅读了很多类似这样的解决方案,但似乎没有什么适合我。我有一个共享开发框,用于一些需要这样东西的项目,我想对其进行配置,以便用户在/opt/dev目录中创建的文件:
<username>:developers774(文件)775(目录)所有开发人员用户都设置了他们的主要组,developers因此第一个要求非常可靠。实际权限要少得多。它们只是没有按照我们需要的方式始终如一地设置,而且我还没有找到正确的解决方案。
我确实g+s根据我在某个时候读到的其他内容设置了粘性位 ( ),但这似乎不是特别有用,因为所有用户都在同一个主要组中。
我也将默认umask设置为002in /etc/login.defs。我认为这会掩盖它,但事实并非如此。
我非常感谢有关如何正确排列所有内容的任何建议。我觉得我一直在那里调整这里的文件和那里的目录,以便人们可以完成他们的工作。
好的,对于第 1 点,解决方案非常简单:
chgrp developers /opt/dev
Run Code Online (Sandbox Code Playgroud)
对于第 2 点和第 3 点,我想您需要ACL. 因此,首先要做的就是编辑/etc/fstab以将选项提供acl给/opt/dev. 如果/opt/dev不在单独的分区上,您需要启用ACL整个根文件系统。
那么你就必须遵循这个答案。
chmod g+s /opt/dev
Run Code Online (Sandbox Code Playgroud)
应该相当于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
Run Code Online (Sandbox Code Playgroud)
设置文件和目录的高级权限标准。老实说,我找不到一种方法来设置单独的文件和目录权限,但我很确定它是可行的。您可以尝试本教程以获取有关该主题的更多信息。