gpt4 book ai didi

apache - 我的 Web 应用程序保存的文件与父级具有不同的文件权限

转载 作者:行者123 更新时间:2023-12-04 19:23:33 27 4
gpt4 key购买 nike

我有一个文件夹,其中将通过脚本自动创建新的子文件夹和文件。

我想为放置在父目录中的所有新文件夹和文件递归地维护用户和组权限。我知道这涉及设置一个粘性位,但我似乎找不到一个能准确显示我需要的命令。

这是我到目前为止所做的:

sudo mkdir -p /path/to/parent
sudo chmod -R 660 myself:somegroup /path/to/parent

此后,我希望将 660 权限递归设置到/path/to/parent 中的任何文件夹和文件

但是,每当 Apache 保存文件夹/文件时,它都会为其分配 700 的权限,并将用户和组设置为 apache 用户。这不是我想要的。我希望父级下的所有文件/子文件夹对我自己拥有 660 个权限:somegroup。

实际上八进制标志 660 可能甚至都不正确。我想要的权限是:
  • /path/to/parent 下的目录可由具有
  • 权限的用户执行
  • 文件可由用户本人和某个组的成员读取/写入
  • /path/to/parent 中的文件和文件夹不是世界可读的

  • 有人可以帮忙吗?

    我在 Ubuntu 10.0.4 LTS 上运行

    最佳答案

    sudo mkdir -p /path/to/parent sudo chmod -R 660 myself:somegroup /path/to/parent



    呃 - 不理想。

    如果您希望创建的新文件/目录具有相同的组所有权,您需要在目录上设置组粘性位

    find /path/to/parent -type d -exec chmod g+s {};



    你需要使目录可执行:

    find /path/to/parent -type d -exec chmod ug+x {};



    ...

    However, whenever Apache saves a folder/file it assigns it permissions of 700 with user and group set to the apache user



    然后您还需要为执行代码设置umask(0770)(或直接更改权限)并确保apache uid是somegroup的成员。 IIRC 设置组粘性位,umask 应为 2770 - 但请查看手册。

    关于apache - 我的 Web 应用程序保存的文件与父级具有不同的文件权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5485465/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com