【问题标题】:PHP - mkdir default user is www-data, how to change?PHP - mkdir 默认用户是www-data,如何更改?
【发布时间】:2014-05-08 15:35:59
【问题描述】:

我有一个 PHP 脚本,用于在该文件夹中创建一个文件夹和一些文件。好的,我可以在 PHP 中使用 mkdir 轻松完成,但该文件夹归 www-data 所有,这是我没有登录的奇怪用户或组。因为那样我无法修改此文件夹和此文件夹中的文件(删除)。

有人可以建议我如何解决这个问题吗?我可以通过我们当前的登录用户创建文件夹吗?它是每个用户的公共文件夹(应该是chmod 775)。这是由 PHP 脚本创建的文件夹,可以有很多文件夹,所以我不想每次创建新文件夹时都运行 sudo chmod 所有这些文件夹!

【问题讨论】:

  • 试试chown?
  • 那是 Apache 用户。使用suexec/suphpphp-fpm 设置您的服务器。
  • 你不能直接。除非您以 root 身份运行,否则您不能将目录/文件“转移”到另一个帐户。您也不希望您的网络服务器以 root 身份运行。正如马里奥所说,您需要 suexec 或一些外部 suid 应用程序,您可以调用它来代表您执行 chown。
  • www-data 是所有 Linux 系统上的默认 Apache 用户。
  • 也许,您正在寻找httpd.apache.org/docs/2.2/suexec.html 模块。

标签: php


【解决方案1】:

在 http 服务器服务下运行的任何应用程序创建的任何文件夹都将归执行该应用程序(或应用程序组件)的用户所有。话虽这么说,如果您正在运行一个 Apache HTTP 守护程序,其子进程所有者是 www-data 用户,则由任何 php 脚本创建的任何文件夹都将归该用户所有。

您将无法 chown() 任何 FS 条目给其他用户,因为 www-data 没有这样做的权限。您可以使用chown 命令行二进制文件通过具有超级用户权限(uid == 0)的命令行手动更改它。

【讨论】:

    猜你喜欢
    • 2015-10-30
    • 2018-12-24
    • 2015-04-13
    • 1970-01-01
    • 2015-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-03
    相关资源
    最近更新 更多