我在这里看了一下,但没有找到关于最佳文件权限的任何细节。我也在这里看了一些WordPress表单的问题,但任何建议777的人显然需要上一节安全课。
总之,我的问题是这样的。我应该拥有以下权限:
存储所有WordPress内容的根文件夹 wp-admin wp-content wp-includes
那每个文件夹里的所有文件呢?
我在这里看了一下,但没有找到关于最佳文件权限的任何细节。我也在这里看了一些WordPress表单的问题,但任何建议777的人显然需要上一节安全课。
总之,我的问题是这样的。我应该拥有以下权限:
存储所有WordPress内容的根文件夹 wp-admin wp-content wp-includes
那每个文件夹里的所有文件呢?
当前回答
根据我在自己网站上的阅读和痛苦,在被黑客入侵后,我想出了上面的列表,其中包括一个名为Wordfence的Wordpress安全插件的权限。(非附属机构)
在我们的例子中,wordpress文档根是 /var/www/html/example.com/public_html
打开权限,以便www-data可以像下面这样写入文档根目录:
cd /var/www/html/example.com
sudo chown -R www-data:www-data public_html/
现在,作为管理员,您可以在站点的仪表板上执行更新。
按照以下步骤完成更新后的安全站点:
sudo chown -R wp-user:wp-user public_html/
上面的命令将wordpress安装中的所有内容的权限更改为wordpress FTP用户。
cd public_html/wp-content
sudo chown -R www-data:wp-user wflogs
sudo chown -R www-data:wp-user uploads
上面的命令确保安全插件Wordfence可以访问它的日志。上传目录也可以通过www-data写入。
cd plugins
sudo chown -R www-data:wp-user wordfence/
上面的命令还确保安全插件为其正确的功能需要读写访问。
目录和文件权限
# Set all directories permissions to 755
find . -type d -exec chmod 755 {} \;
# Set all files permissions to 644
find . -type f -exec chmod 644 {} \;
将wp-config.php的权限设置为640,这样只有wp-user可以读取该文件,其他用户不能读取。440的权限不适合我以上的文件所有权。
sudo chmod 640 wp-config.php
使用SSH的Wordpress自动更新在PHP5上运行正常,但在PHP7.0上就不行了,因为PHP7.0 -ssh2与Ubuntu 16.04绑定的问题,我不知道如何安装正确的版本并使其工作。幸运的是,一个非常可靠的插件ssh- SFTP -update -support(免费)使使用SFTP的自动更新成为可能,而不需要libssh2。因此,除非在极少数需要的情况下,上述权限永远不必放松。
其他回答
最好在https://wordpress.org/support/article/changing-file-permissions/上阅读wordpress文档
All files should be owned by the actual user's account, not the user account used for the httpd process Group ownership is irrelevant, unless there's specific group requirements for the web-server process permissions checking. This is not usually the case. All directories should be 755 or 750. All files should be 644 or 640. Exception: wp-config.php should be 440 or 400 to prevent other users on the server from reading it. No directories should ever be given 777, even upload directories. Since the php process is running as the owner of the files, it gets the owners permissions and can write to even a 755 directory.
在wp_config文件中定义。
/var/www/html/Your-Project-File / wp-config.php
define( 'FS_METHOD', 'direct' );
Chown -更改文件/dirs的所有权。Ie。文件/dir的所有者更改为指定的所有者,但不会修改权限。
sudo chown -R www-data:www-data /var/www
对于OS X使用以下命令:
sudo chown -R www:www /www/folder_name
chown -Rv www-data:www-data
chmod -Rv 0755 wp-includes
chmod -Rv 0755 wp-admin/js
chmod -Rv 0755 wp-content/themes
chmod -Rv 0755 wp-content/plugins
chmod -Rv 0755 wp-admin
chmod -Rv 0755 wp-content
chmod -v 0644 wp-config.php
chmod -v 0644 wp-admin/index.php
chmod -v 0644 .htaccess
命令:
chown www-data:www-data -R *
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
ftp-user是用来上传文件的用户
chown -R ftp-user:www-data wp-content
chmod -R 775 wp-content