【问题标题】:Write Permission issue on PHPPHP的写权限问题
【发布时间】:2013-09-10 19:46:33
【问题描述】:

我遇到的问题是 apache 无法通过 PHP 写入文件(例如,写入 csv 文件) - 我必须将文件权限更改为 777 并且它可以工作,但它的安全性非常差。我正在尝试使用足够的权限进行写入,可能是 664。出了什么问题?

Apache 以apache 运行,组也是apache/var/www/html中的所有文件都归root所有,组为web-content

我可以登录到 FTP 客户端并读取/写入文件到/var/www/html 没有任何问题。

我已经创建了一个名为 Intranet 的 ftp 用户,这里是我所做的:

groupadd web-content
usermod -G web-content intranet
chown root:web-content /var/www/html
chmod o+rx /var/www/html
find /var/www/html -type f -exec chmod 0664 {} \;
find /var/www/html -type d -exec chmod 0775 {} \;

ls -la /var/www/

drwxrwxr-x.  4 root web-content 4.0K Sep  6 16:09 html

当我在 FTP 上上传新文件时。

ls -la /var/www/intranet/

-rw-r--r--.  1 intranet intranet       0 Sep  6 17:42 test

【问题讨论】:

  • 你在使用 php-fpm 吗?它是否以与 apache 相同的用户身份运行?

标签: php linux apache permissions centos


【解决方案1】:
7 - owner bits, read/write/execute
5 - group bits, read/execute
5 - everyone else bits, read/execute

由于文件是755,所以只有所有者才有写权限。你的 apache 以 apache 运行,文件归 root 所有,所以所有者不匹配,你最终没有写权限。

您可能希望将文件更改为apache:web-content 或至少root:web-content,并将文件设置为 575,以便组权限匹配。

【讨论】:

  • 谢谢,当我再次申请root:web-content 时,这似乎已解决。我注意到当我在 FTP 客户端上传文件时,所有者和组更改为-rw-r--r--. 1 intranet intranet 0 Sep 6 17:42 test,这可能会导致写入权限出现一些问题。我正在使用vsftd 服务器。
猜你喜欢
  • 2011-11-14
  • 2010-12-16
  • 2018-09-17
  • 2018-06-09
  • 2019-08-28
  • 1970-01-01
  • 2012-01-05
  • 2015-08-28
  • 2021-04-22
相关资源
最近更新 更多