WordPress 站点大多以 LNMP / LAMP 为运行环境,修改文件涉及到权限的问题,权限不足就会出现标题所说的情况。
Linux 通过用户和用户组来划分权限,使用 OneinStack 、军哥LNMP 或宝塔面板搭建的网站目录一般在 www 用户组 www 用户下,也就是 www:www
。然而有些插件和主题(特别是手动复制添加的)不在同一用户和组下,这就导致我们没有权限去操作它们的文件。
举个例子:
网站目录在 /www/idcbuy
,主题 Test 在 /www/idcbuy/wp-content/theme/Test
下,我们可以 cd
到主题目录下,通过 ls -al
命令来查看文件或目录所属的用户(组)。
WordPress 以 louis 身份运行,而主题文件所在的用户是 root,所以 WordPress 无法删除、修改主题文件。
解决方法
解决方法就是修改对应文件或整个网站目录的用户和用户组。
上面说到可以用 ls -al
命令查看文件或目录所在的用户(组),因此可以直接修改对应目录,但耕读君建议整个网站目录使用相同的设置。还是用上文的例子:
# 进入网站的上级目录
cd /www
# 修改整个网站的用户和组
# 多数网站的用户和组都是 www,以实际情况为准
chown -R www:www idcbuy
这样设置过后 WordPress 对文件拥有操作权限,后台删除主题、插件或编辑文件时就可以直接完成了。