我有一些具有根访问权限的WordPress网站服务器,在创建服务器时,一切都很好,WordPress本身以及插件和主题都在更新,没有出现任何问题,但我不知道为什么最近我遇到了一个错误,通常指示权限错误(至少我看到权限是正确的)。
更新WordPress时出错:
正在从下载更新https://downloads.wordpress.org/release/fa_IR/wordpress-5.7.zip…
wordpress-5.7的真实性。无法验证zip,因为找不到签名。
正在解压缩更新…
无法安装更新,因为我们将无法复制某些文件。这通常是由于文件权限不一致造成的:wp管理/包括/更新核心。php
安装失败。
以下是我为调查问题所做的:
ls -ld /home
drwx--x--x 26 root root 4096 Mar 9 20:03 home
ls -ld /home/my_user
drwx--x--x 26 my_user my_user 4096 Mar 9 20:03 /home/my_user/
ls -ld /home/my_user/public_html
drwxr-x--- 26 my_user nobody 4096 Mar 9 20:03 /home/my_user/public_html/
此外,public\\u html权限内的所有文件都是0644,所有目录都是0755。
cd /home/my_user/public_html/
find . -type f -exec chmod 644 {} \\; && find . -type d -exec chmod 755 {} \\;
find . -type f -exec chown my_user:my_user {} \\; && find . -type d -exec chown my_user:my_user {} \\;
的结果
lsattr
具体如下:
lsattr /home/my_user/public_html/wp-admin/includes/update-core.php
-------------e-- /home/my_user/public_html/wp-admin/includes/update-core.php
所以到目前为止,在我看来,权限和所有权没有什么问题。
正在检查wp-admin
, wp-admin/includes
和wp-admin/includes/update-core.php
权限和所有权很好,没有问题,但我不知道为什么WordPress不能安装任何插件、主题或自身。
PHP处理程序是suphp
(我还用cgi
和lsapi
) 但在这方面没有任何变化。
Apache配置如下:
MPM: mod_mpm_prefork
Apache modules (some of them):
mod_cgi
mod_lsapi
mod_mpm_prefork
mod_suexec
mod_suphp
我应该提到,我创建了一个文件,如
info.php
并在web浏览器中执行,这很好。那么我
chown
ed喜欢
root:root
在第二种情况下,我得到403错误(这是预期的),然后我再次将其还原为
my_user:my_user
Apache组为nobody
我想,而且public_html
目录的chown
是my_user:nobody
. 因此,我的网站和其他网站运行良好,但唯一的问题是更新或甚至尝试安装插件/主题/新更新时。
我检查了日志文件,但没有记录任何内容。