Recommended File Permissions

时间:2010-12-23 作者:Jorge Israel Peña

嘿,伙计们,我花了很长时间试图解决这个问题。我想知道WordPress中的文件权限应该是什么样子in order to use the autoupdate feature. 到目前为止,我的wordpress安装程序一直在询问我的FTP信息,我不想使用那种升级/安装方法,我想使用纯/直接PHP。

某些上下文:

Web服务器和php fcgi守护程序运行为www-data:www-data/home/blaenk/sites/domain.tld/read 所有文件/文件夹应由我的用户(blaenk)拥有,并可由我的用户写入。但这不起作用,在花了很多小时研究之后,IRC频道的一个人告诉我试着把所有的东西都设置为所有权www-data:www-data 这起作用了。我不再被要求提供FTP信息,插件安装自动运行。

然而,我最初将站点文件放在我的主目录中,正是因为我希望能够以我的用户身份编写/创建它们。我甚至加入了www-data 目录如中所述this guide.

我已经知道文件应该是644,目录应该是755。然而,这似乎更多的是所有权问题。我不想让你www-data:www-data 在wordpress安装的所有内容上,我想知道哪些文件/目录特别需要这种所有权级别?

EDIT: 我相信,尽管所有文件都归我的用户所有,但我的共享主机wordpress安装似乎一切正常的原因是我使用的共享主机suexec 它大概以我的身份运行PHP,所以换句话说,文件属于Web服务器。

4 个回复
最合适的回答,由SO网友:Jorge Israel Peña 整理而成

在我的问题中,我表示困惑的是,尽管所有文件都归我的用户所有,但在我的共享主机上一切都能无缝工作,而在我的VPS上,除非所有文件都归Web服务器所有,否则自动升级将无法工作。

我很确定这是我的共享主机使用suexec 它基本上以我的用户身份运行脚本。因此,从本质上讲,我共享主机上的文件属于“web服务器”(实际上是CGI守护进程)。

实际上,我在VPS上运行nginx和php fpm,所以我没有访问Apache的suexec的权限。然而,我只是将php fpm配置为自己运行,以测试我的理论,它确实与我的用户拥有的所有文件无缝地工作。我相信这会被视为一种安全风险(不确定),因此我将进一步调查,看看在这方面我能做些什么,以避免以我的用户身份运行它,但至少现在我知道了问题所在!

SO网友:Rarst

据我所知,它与特定权限无关-总体自动更新requires that files owner matches user Apache runs under. 如果不是这样的话,则返回到其他文件系统方法(FTP、SSH),并提示输入密码。

您可以在中的常量中定义凭据wp-config.php 所以你不会得到提示。

看见WordPress Upgrade Constants 在法典中。

SO网友:Frank Nocke

您的“混合”体验可能来自您的两个用户是否属于同一组。当然,什么是“群体权利”

传统上,在php中,phpuser(又名apacheuser或webuser或cgideamon)无权更改文件,只有ftpuser(某些codex描述中又名“您的用户帐户”)才能更改文件,从而使安全漏洞更难更改脚本。

这当然使得任何基于php的php文件更新都不可能。因此,在PHP中,通常会将文件所有权从FTP用户更改为phpuser。在此之前,值得注意的是,“更新”发生在“FTP鞋”(正如您提供的凭据)中。然后,下载的ZIP的解包当然可能会再次通过脚本方式发生……好吧,然后是wp内容文件夹,当然会通过php脚本进行触摸和进一步填充……(我想我们都曾在wp中遇到过这个问题)事情可能会变得复杂。

in short: WordPress的Codex在Hardening File Permissions 尽可能“贪婪”/“安全”地授予文件权限。通过user account 他们指的是FTP帐户(即不是cgi deamon/php用户/…)。

SO网友:PJ Brunet

假设您有ssh访问权限,首先获取“用户”。Web服务器通常运行为www-data 但如果你不确定,快跑top 您可以看到php、nginx等的“用户”。

这一步很明显,但要找到文件所在的位置。通常你的文件/home/www-data/ 但我注意到nginx将默认为其他一些我现在记不起来的目录。无论如何,cd 保存所有域的目录。

  • chown -R www-data:www-data example.com 这会递归地更改示例中所有文件的所有权。com目录。很可能这不会破坏任何东西。

  • 通常文件已经设置为正确的权限,但在托管了数十家公司之后,我可以告诉你,系统管理员偶尔会意外更改权限,这只是生活中的一个事实。例如,使用sshfs装载可能会改变所有权。

    结束

    相关推荐