设置默认权限

Rob*_*son 6 permissions

我已经阅读了很多类似这样的解决方案,但似乎没有什么适合我。我有一个共享开发框,用于一些需要这样东西的项目,我想对其进行配置,以便用户在/opt/dev目录中创建的文件:

  • <username>:developers
  • 将权限设置为774(文件)
  • 将权限设置为775(目录)

所有开发人员用户都设置了他们的主要组,developers因此第一个要求非常可靠。实际权限要少得多。它们只是没有按照我们需要的方式始终如一地设置,而且我还没有找到正确的解决方案。

我确实g+s根据我在某个时候读到的其他内容设置了粘性位 ( ),但这似乎不是特别有用,因为所有用户都在同一个主要组中。

我也将默认umask设置为002in /etc/login.defs。我认为这会掩盖它,但事实并非如此。

我非常感谢有关如何正确排列所有内容的任何建议。我觉得我一直在那里调整这里的文件和那里的目录,以便人们可以完成他们的工作。

Avi*_*vio 3

好的,对于第 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)

设置文件和目录的高级权限标准。老实说,我找不到一种方法来设置单独的文件和目录权限,但我很确定它是可行的。您可以尝试本教程以获取有关该主题的更多信息。