WordPress - 通过自动更新强化权限?

Posted

技术标签:

【中文标题】WordPress - 通过自动更新强化权限?【英文标题】:WordPress - Hardened permissions with automatic updates? 【发布时间】:2019-04-24 05:19:58 【问题描述】:

有没有办法让 WordPress 在仍然使用强化权限的同时自动更新?

似乎推荐的 WordPress 安全设置是使用hardened permissions,这主要是使用this answer 中给出的权限来实现的。但是这些权限导致WordPress无法自动更新,或者通过管理员网页界面使用更新,导致报错:

Downloading update from https://downloads.wordpress.org/release/wordpress-x.x.x-partial-x.zip…

Unpacking the update…

The update cannot be installed because we will be unable to copy some files. This is usually due to inconsistent file permissions.: wp-admin/includes/update-core.php

Installation Failed

通过允许网络服务器更新update-core.php,我们违反了强化权限(据我所知)。不幸的是,如果没有自动更新,我们还会遇到无法获得自动安全更新的问题,从而导致另一个安全问题。有没有办法允许自动更新而不需要弱权限?在允许自动更新的同时可以使用的最强权限是什么,是否足够强大?

【问题讨论】:

【参考方案1】:

Hardening Wordpress 指南描述了什么是安全设置并推荐自动更新,但方便地省略了前者不适用于它们。

据我所知,每个管理员都有一个非常不愉快的选择:

    保留强化的权限,需要掌握每个小更新并来回更改权限以执行它 以未记录的方式放宽权限并冒着增加相关不安全感的风险

作为主要处理自动化的人,我个人无法支持手动方法。这似乎风险较小,但前提是您从未碰巧让更新在一两个星期内无人看管。那么可以说,由于未修补的漏洞,风险比使用较宽松的权限的风险更高。

这是我用来在更新所需的几秒钟内切换到“不安全”模式的摘录(我将一直使用它,直到出现更好的情况或我对这种手动方法的耐心结束):

sudo chown -R <wordpress_user> <wp_rootdir>; read; sudo chown -R <myuser> <wp_rootdir>

它将所有内容的所有者更改为运行 WordPress 的进程,并使用“读取”命令来暂停,直到您按下任何按钮然后恢复为原始所有者。

TL;DL:不,只有两个末端的选择。

【讨论】:

我认为这是解决我遇到的问题的方法。我怎么知道wordpress用户是什么?据我所知,我的服务器上只有一个用户(我登录时使用的那个)。我假设这是 . @tobogranyte 您使用ps -ef 列出所有进程并查找正在运行 WordPress 进程的用户(第一列)。我认为那些通常会在名称中包含 php。 当我这样做时,第一列是一个数字,而不是用户 ID。 很奇怪,可能是不同版本的 Linux。查看列表的最顶部以查看标题名称并了解哪一列的含义。您正在寻找标题为 UID 的那个。 这似乎比其他需要更改文件和目录权限的解决方案更好。

以上是关于WordPress - 通过自动更新强化权限?的主要内容,如果未能解决你的问题,请参考以下文章

配置wordpress:禁止wordpress自动更新(wordpress 6.2)

Wordpress自动更新失败

Wordpress 自动缩放更新

GeoIP 根据用户位置 WordPress 自动更改货币

php Wordpress自动更新

php 禁用WordPress中的自动更新