【发布时间】:2012-03-27 14:06:07
【问题描述】:
我在这里有点困惑。但这可能只是我缺乏经验。
我已经设置了 PHP DSO (mod_php) 并且我的服务器运行平稳稳定。但问题是,为了运行包含所有内容的 php,我必须将所有用户帐户文件 (/home/*/public_html/*) 的所有者设置为 nobody:nobody。
这给我带来了两个问题: - 这真的有必要吗?我宁愿让他们 user:user - FTP 怎么样?如果我使用 FTP 上传文件,它们归 user:user 所有,因此它们不能包含在另一个 php 文件中(引发错误)。属于nobody的文件:nobody不能通过ftp修改..
仅供参考:我也启用了 SuEXEC。我应该禁用它吗?
仅供参考:我知道我可以将所有权限设置为 777,但这是错误的。
非常感谢!
【问题讨论】:
-
看this answer。这几乎是我会在这里回答的。 (Or this)。
-
谢谢,但我从 SuPHP 切换到 DSO 因为我想使用 opcache (eAccelerator)。我真的需要知道权限应该是什么。
-
在这种情况下,您只能让 一个 不同的用户执行并运行 PHP。我不知道您正在运行哪个发行版,但每个发行版通常都会引入一个运行 Apache 工作人员的组(Debian:
www-data)。您可能希望将当前运行 Apache 的组(显然是“nobody”)更改为所有用户共同共享的组,并将相应的 PHP 文件设置为至少rw-r------ 或0640。
标签: php ftp file-permissions mod-php