【问题标题】:dso (mod_php) and FTP/File permissionsdso (mod_php) 和 FTP/文件权限
【发布时间】: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


【解决方案1】:

普通的“nobody”应该只读取正在执行的文件,并且只写入/拥有可以被 php 更改的文件。大多数文件所有者应该是您的 ftp 用户。

保留 php 权限以更改可执行文件的不良做法。

此外,如果“没有人”有权以 root 身份运行,它会为 php(以及用户)提供他的所有权限。

【讨论】:

  • 我不明白你在说什么。你能改写一下吗?
  • 你明白吗,在大多数情况下 php(以无人身份运行)应该只读取 php 文件来运行你的应用程序?
  • 是的。但我的问题是关于我必须在 PHP 文件上设置的 what 权限和所有者,而不是在 which 文件上。
  • ok,为php文件设置权限644并将所有者切换到ftp-user
猜你喜欢
  • 2011-05-29
  • 2012-02-20
  • 2011-12-18
  • 1970-01-01
  • 2013-06-07
  • 1970-01-01
  • 2011-10-21
  • 1970-01-01
  • 2020-07-04
相关资源
最近更新 更多