【问题标题】:php mkdir permission issuephp mkdir 权限问题
【发布时间】:2018-06-09 14:05:53
【问题描述】:

CentOS 7, php5.4 - shell 访问。

/home/toms/public_html/..

/home 下的所有文件夹和文件都是 toms:toms 和 755

myuser 在 vi​​sudo 中获得了所有权限。

问题:

在 php 脚本中尝试 mkdir(/home/toms/public_html), 0755, true); 收到警告:mkdir(): Permission denied in... 我试图去777,但仍然没有工作。还尝试将所有文​​件更改为root,但没有成功。

回显whoami; ->阿帕奇

我怎样才能改变'whoami'是toms,我认为这是最好的解决方案。

附:很了解php旧版本,但目前无法升级。

【问题讨论】:

  • 您的用户是 apache,它正在尝试创建目录并因此出现 Permission Denied 错误。
  • 对。那么如何将用户“apache”更改为用户“toms”?

标签: php apache shell centos


【解决方案1】:

尝试将所有权更改为 apache 用户。作为它的CentOS,它应该是apache,并赋予owner-write权限。

sudo chown apache:apache /home/toms/public_html/
chmod 0755 /home/toms/public_html/

【讨论】:

  • chown www-data:www-data 给了我:chown: invalid user: 'www-data:www-data'
  • 我已经更新了我对 CentOS 的回答。您可以通过cut -d: -f1 /etc/passwd 获取所有可用用户的列表。确保apache 是其中之一。
  • sudo chown apache:apache /home/toms/public_html/ 没有帮助。还尝试以递归方式进行相同的更改。我确实将 apache 添加到了 toms 组,并且 toms 得到了 visudo ALL,但仍然没有成功。还应该提到 php 是通过 apache API 运行的,而不是 CGI。
【解决方案2】:

权限问题已修复:

在 /usr/lib/systemd/system/httpd.service

设置 PrivateTmp=false(默认设置为 true)

完成:

systemctl daemon-reload

systemctl 重启 httpd

【讨论】:

    猜你喜欢
    • 2021-10-22
    • 2011-07-11
    • 2011-12-14
    • 1970-01-01
    • 2011-05-02
    • 2011-04-15
    • 2018-03-19
    • 1970-01-01
    • 2011-02-21
    相关资源
    最近更新 更多