【问题标题】:How to set owner ID on a directory and it's children如何在目录及其子目录上设置所有者 ID
【发布时间】:2016-02-22 19:15:42
【问题描述】:

chmod g+s . 命令会在当前目录中设置组 ID,这样在该目录中创建的所有文件都属于该目录的组用户,而不是创建该文件的用户。

实现相同结果的命令是什么,但这次是文件/目录所有权?

我想要实现的是所有移动到/var/data/www 或在/var/data/www 中创建的文件都属于www-data www-data(onwer 和组)。在www/ 中执行的chmod g+s . 对组有用,但我也想自动设置所有者——不管是谁上传的文件。

【问题讨论】:

  • 这不完全是一个编程问题,所以它与 StackOverflow 无关。也许unix.stackexchange.com 更合适。

标签: unix file-permissions file-ownership


【解决方案1】:

我发现在目录上设置 uid 不会强制新文件归该目录的所有者所有。它们仍将归创建它们的用户所有。

因此chomd g+s . 将强制执行文件/目录组所有权,但chomd u+s . 不会对所有者产生相同的影响。

在 Ubuntu 上确实如此。

【讨论】:

    【解决方案2】:

    我一直在使用

    chown -R user:group .
    

    更改目录和子目录中的文件

    【讨论】:

    • 您好,可以,但每次都必须执行。使用chown g+s .,该过程是自动的。每当添加文件时,它们的组 ID 会自动设置为父目录的组 ID。
    • 我搞错了,全是chmod g+s。我现在已经更正了这个问题。
    【解决方案3】:

    这取决于您的系统和文件系统。存在不同种类的扩展属性和 ACL。 OSXxattr、Linuxsetfattr

    在某些系统上,set-uid-bit 设置在目录上,强制新文件归目录所有者所有。

    【讨论】:

      猜你喜欢
      • 2014-03-08
      • 2016-01-03
      • 1970-01-01
      • 2017-03-15
      • 1970-01-01
      • 1970-01-01
      • 2012-07-22
      • 2012-04-15
      • 2013-03-15
      相关资源
      最近更新 更多