我认为将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