在Suexec服务器上安全地使用一键插件升级功能

时间:2016-01-13 作者:StevieD

我已经为这个问题寻找了几个小时的明确答案,但什么都找不到。

我正在使用suexec在服务器上运行多个站点。所有文件和目录的所有者和组为root 除了uploads 与站点关联的系统用户所拥有的目录和子目录。让我们调用此用户user 供他讨论。

我正试图让“一键式”插件更新和安装工作,但我没有成功。我已尝试暂时更改的所有权wp-content 以及中的所有文件和目录wp-contentuser 我已经仔细检查了所有目录的执行和写入权限755.

所有这些都不起作用。

唯一有效的方法是将WP安装上的所有文件和目录的所有权更改为user. 这是一个巨大的安全漏洞(我通过艰难的方式了解到了这一点),我希望避免这样做。

那么,我应该临时更改哪些目录的所有权,以使一键式更新和安装工作正常?

3 个回复
SO网友:StevieD

查看内部代码后file.php, 我发现你不必更改file.php (参考以下原始答案)。相反,您可以将以下行添加到wp-confg.php:

define(\'FS_METHOD\', \'direct\');

这将迫使WordPress使用direct 检索插件的方法。

您仍然必须手动更改的所有权wp-contentwp-content/plugins 指向所有者的目录,指向运行站点的suexec用户。在完成更新和/或安装新插件后,最好将这些内容更改回来。

SO网友:StevieD

好吧,经过反复试验和WP documentation, 我发现你必须改变wp-admin/includes/file.php 文件,以匹配站点运行所使用的suexec用户。

您还必须更改wp-content 以及plugins 它下面的目录(也可能是您希望更新的任何插件的目录)。

相关推荐

如何通知WordPress Installation我的插件更新?

我已经创建了我的第一个插件,并在wordpress插件库中公开了它,现在我准备发布该插件的另一个版本,我已经完成了指南中所述的所有步骤,并且已经使用svn.但是,当我进入wordpress安装时,没有关于更新的通知,我如何为我的插件用户发送更新通知?我已经找到了这个答案;How to notify my plugin users about new version releases?但它看起来有点过时了。