如何设置目录以具有持久组权限?

时间:2009-02-09 16:47:04

标签: bash unix permissions directory

我们有两个用户:

  • 用户1
  • 用户2

他们都属于'admin'组。

我们的目录已设置为775.目录的组已更改为“admin”。每个用户都具有写入该目录的完全访问权限,但是当用户将新文件写入目录时,该文件夹的组权限不会持久保存到写入的文件中。

我们应该如何使文件继承目录的组权限?

澄清:当写入新文件或目录时,它会使用用户组作为新文件的组,而不是目录的组,这是有道理的 - 但我怎么能不这样做?

3 个答案:

答案 0 :(得分:9)

您可以通过设置目录的setgid位(chmod g+s)来传播组权限。 这可能无法在所有* nix和所有文件系统中移植。

http://en.wikipedia.org/wiki/Setuid#setgid_on_directories

http://www.gnu.org/software/coreutils/manual/html_node/Directory-Setuid-and-Setgid.html

答案 1 :(得分:2)

如果您使用的是ext3或ReiserFS,则此page about creating a Linux file server可能有所帮助。具体而言,步骤7建议使用以下命令。

setfacl -d -m g:sales:rw /groups/sales 

答案 2 :(得分:1)

我认为你应该看here

正如网站所说,“Unix不支持继承权限的想法。”

但是,有一节关于ACL(访问控制列表),我认为这是你正在寻找的。通过设置ACL,您可以让文件从目录继承相同的ACL,我认为这就是您所要求的。 setfacl是shell命令,你需要查看它。

希望有所帮助!