启用自动更新时,WordPress如何处理文件权限?

时间:2020-11-24 作者:eltitano

就我所知,应该由php/apache更改的每个文件都必须由apache服务器进程的用户编写。根据;Hardening Section"E;在Wordpress文档中,该用户应该与文件所有者不同,并且只有后者才应该对大多数文件夹具有写访问权限。所以,我想知道如果服务器进程没有写访问权限,wordpress如何更新?

我不明白这句话的意思是什么;当您告诉WordPress执行自动更新时,所有文件操作都是以拥有文件的用户而不是web服务器的用户的身份执行的。所有文件都设置为0644,所有目录都设置为0755,并且只能由用户写入,其他所有人(包括web服务器)都可以读取"E;

对我来说,这听起来很疯狂。如果文件归root所有,wordpress是否获得对服务器的root访问权限?

1 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

TLDR: That paragraph is incorrect.

<那么WordPress如何处理自动更新的权限呢WordPress以PHP运行的用户身份运行,在大多数服务器上是www 使用者它使用该用户执行更新。

如果该用户无法写入这些文件,则会返回到其他文件WP_Filesystem 提供者。这就是为什么有些人在更新时会看到FTP详细信息请求。如果输入的FTP详细信息有效,WordPress将使用FTP。

如果它不能直接更改文件系统,并且不能使用FTP进行更改,那么就不能进行自动更新。

WordPress能否作为文件所有者运行文件操作

No. It can\'t.

PHP进程无法将自己升级到root 用户,事情不是这样的。这也不是流程和用户的工作方式

PHP也无法更改它正在运行的用户。这需要更改服务器配置。

这一段是关于。组织是否正确

当您告诉WordPress执行自动更新时,所有文件操作都是作为拥有文件的用户执行的,而不是作为web服务器的用户执行的。所有文件都设置为0644,所有目录都设置为0755,并且只能由用户写入,其他所有人(包括web服务器)都可以读取。

That paragraph is wrong.

我认为发生的是,不是以英语为母语的人写了这一段,或者他们自己误解了更新的工作方式。无论什么原因,这一段都是错误的、错误的、错误的。

但是,如果您想真正强化WordPress,请使文件可执行且可供web用户阅读,但不可写,并禁用内置的自动更新程序。

然后是工具,如git, composer, 或WP CLI可用于手动或使用其他用户在cron作业上更新WordPress及其插件/主题。

E、 g.在我的主机上,我可以通过SSH连接到服务器,并在SSH用户访问这些文件时进行更改。这样,任何运行的恶意软件都无法修改PHP文件。这样做的缺点是WordPress无法从web界面进行自我更新。然后,我运行WP CLI命令来更新WP和。org插件,以及git pull 其余部分使用composer命令。我甚至可以重构一些东西来使用composer 对于整个站点。

您将看到一些高端主机通过管理WordPress本身,并为您提供与wp-content 这样插件和主题就可以进行版本控制。这样做的好处是,任何更改都是显而易见的,可以立即撤消。

相关推荐