我最近在 vps 上安装了 wordpress。所有主题文件的权限都设置为 644。所有权已授予 root。但 wordpress 管理员似乎仍然无法在文件编辑器中找到“更新文件”按钮,除非我将权限设置为 777。wordpress 管理员不被视为 root 吗?
我在 Centos 6 上。也尝试过按照命令,但什么也没发生
sudo usermod -aG root $USER
sudo chown -R root:root /var/www/html
我该怎么办?
答案1
您最好希望 WP 没有以 root 身份运行。:)
您混淆了 Wordpress 用户和系统用户。它们是完全不同的两个东西。要授予 WP 写入文件的能力,您需要向运行 Web 应用程序的用户授予该访问权限。您正在运行 CentOS,IIRC Web 服务以“nobody”用户身份运行,尽管我目前无法验证这一点。
答案2
这是我运行的脚本,用于为我的所有 Wordpress 安装设置权限。我的wordpress nginx 教程在这里,信息基于官方wordpress codex。
chown -R tim:www-data *
find /var/www/wp -type d -exec chmod 755 {} \;
find /var/www/wp -type f -exec chmod 644 {} \;
find /var/www/wp/wp-content/uploads -type f -exec chmod 664 {} \;
find /var/www/wp/wp-content/plugins -type f -exec chmod 664 {} \;
find /var/www/wp/wp-content/themes -type f -exec chmod 644 {} \;
chmod 440 /var/www/wp/wp-config.php
chmod -R g+s /var/www/wp/
Nginx 作为 www-data 运行,我认为 PHP 也是如此(不记得了,但我的文章会说)。
答案3
Wordpress 管理员用户无法修改任何无法由运行它的 Web 服务器修改的文件。安全站点将锁定所有 PHP 文件,以便 Web 服务器无法修改它们。看来您已经这样做了。您可能应该将组设置为www
(目录可能不适合您的安装):
chown root:www /var/www/html/wp-content
编辑主题时,您应该考虑基于现有主题创建新主题。这将防止安全更新抹去您的更改。暂时向 Web 服务器授予目录访问权限。如果组设置正确,您可以使用从包含您的目录的目录运行的wp-content/themes
命令执行此操作。sudo chmod 775 wp-content/themes
wp-content
检查Wordpress 法典网站了解更多详情。