是否可以将权限临时设置为757以通过wp-cli进行更新?

时间:2018-07-19 作者:Josh Burson

digitalocean VPS上的LEMP堆栈。

除非public(或“Other”)拥有执行权限,即757或777,否则我无法使“wp core update”正常工作。

否则,每次都会抛出“错误:无法创建目录”。

我检查了负责wordpress安装的用户是否与运行“wp core update”的用户相同

到目前为止,我尝试的是将权限设置为775,chown www data:www data,移动wp cli文件。

我有多个网站在这个水滴/服务器上运行,每个网站都遇到了相同的问题。

所以,假设我设置了一个cronjob,将权限设置为757,更新并设置回755个目录644个文件660 wp config。php

这样做相对安全吗?这样做会不会给我客户的网站带来很大的风险?

1 个回复
SO网友:junkrig

我认为将cron作业设置为自动打开和关闭权限可能是一种极端的解决方法:-)我认为可能值得花时间在服务器上设置工作权限,而不是设置可能会带来其他问题的cron作业。

这对我来说是一个很好的资源-https://codex.wordpress.org/Hardening_WordPress.

这对我来说也是一个很好的资源-https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-with-lemp-on-ubuntu-16-04

这些步骤是我用来允许在以NGINX为web服务器的Ubuntu droplet上自动/wp-cli更新WordPress和插件的。

设置建议的文件和文件夹权限:

750 for Directories
640 for Files
except for wp-config.php, this should be 440.
要对目录执行此操作,请执行以下操作:

find /srv/www/your-site/ -type d -exec chmod 750 {} \\;
和文件:

find /srv/www/your-site/ -type f -exec chmod 640 {} \\;
和wp配置。php:

sudo chmod 440 your-site/wp-config.php
将所有者和组设置为web:www-data 哪里web 是具有sudo用户权限的非root用户。

sudo chown -R web:www-data /srv/www/your-site
此命令将为您提供有关NGINX在哪个用户/组下运行的更多信息:

ps -eo pid,comm,euser,supgrp | grep nginx

https://superuser.com/questions/398833/how-to-determine-the-user-and-group-of-a-deamon-in-ubuntu

在我的案例中,该组是www数据。

设置setgid位,以便所有新文件继承父目录的组。

sudo find /srv/www/your-site -type d -exec chmod g+s {} \\;
授予组对wp内容目录的写访问权限。

 sudo chmod g+w /srv/www/your-site/wp-content
为小组提供插件、主题和上载目录的写访问权限。

sudo chmod -R g+w /srv/www/your-site/wp-content/themes
sudo chmod -R g+w /srv/www/your-site/wp-content/plugins
sudo chmod -R g+w /srv/www/your-site/wp-content/uploads
如果有必要,请确保在步骤2中以所有者身份运行core update命令,首先切换到该用户。

su web
wp core update

结束

相关推荐

Wp-cron和执行is_admin()包含的脚本中的代码

我正在开发一个插件。其后端设置允许管理员从第三方数据提供商更新站点数据文件,或打开/关闭wp cron作业以自动完成此操作。在此(简化)代码中I assume my wp-cron job will only be run if someone logs in to the WP Dashboard? (不是我真正想要的)if (is_admin()) { include \'my_update_script.php\'; include \'settings_form_stuff