我有一个wordpress安装,我想加强安全性。我正在阅读关于硬化wordpress (https://wordpress.org/support/article/hardening-wordpress/#file-permissions)的wordpress帮助页面,但我不确定其中的含义是什么
所有文件应由您的用户帐户拥有,并应由您写。任何需要从WordPress写入访问的文件都应该由web服务器写,如果您的主机设置需要它,这可能意味着这些文件需要由web服务器进程使用的用户帐户分组拥有。
我对服务器上的文件的唯一访问是通过FTP,用它我可以更改chmod的数字权限(例如。( 755,644等)但我不能影响文件所有者或组。
这句话指的是哪一句?我应该能够通过FTP改变它吗?(目前正在使用filezilla )
发布于 2016-01-19 23:06:53
您的用户帐户描述远程主机的系统用户。根据宿主提供商的环境,这通常与基本FTP帐户相同。实际上,它是操作系统上的用户。所以是的,你应该能够通过FTP改变它。
由于通常有许多用户在一个远程主机上工作,因此正确设置文件权限非常重要。经验法则:没有人比你(你的帐户)应该有写任何文件或目录的权限。读取权限应该授予每个人,除了带有敏感数据的文件(例如日志文件、数据库傻瓜,所有这些都可以与600)。
为什么每个人都能读文件?
假设您的提供者将apache配置为web服务器,则apache进程在一个单独的系统用户(通常是www-data)下运行。这意味着,要向世界提供您的内容(附件),用户www-data需要对这些文件的读取权限。由于您的帐户和www-data通常不共享默认组,这意味着向每个人(xx6、xx4)读取权限。
PHP文件呢?
这取决于提供程序的PHP设置。如果他们配置了运行在快速CGI模式下的PHP,PHP解释器将以您帐户的权限正常运行。这意味着在理论上,您可以删除每个php文件对任何人的读取权限(600)。但是,除了wp-config.php之外,这实际上并没有任何强化的好处。
wp-config/uploads是怎么回事?
如果PHP以fCGI模式运行,默认目录权限(755)应该是完全正确的。如果PHP作为apache模块运行,则取决于您的提供者的用户/组管理是否需要775,或者(在最坏的情况下) 777用于wp-content/uploads。如果有疑问,您应该联系您的提供者,并要求正确的权限。
关于这些权限的几个字:
文件系统权限由三个类处理:用户、组和其他类,以及三个独立的权限:执行、写入和读取。
每个文件(或目录)分配给一个用户和一个组。下面是一个例子:$ ls -la wp-config.php -rw-rw-r-- 1 david worker 1845 Jan 18 19:01 wp-config.php
此文件wp-config.php属于用户david和组worker。文件权限的符号符号被读取为:
rw (读写)→6rw (读写)→6r (读)→4组合为664的数字表示法。这意味着,允许用户david读写文件,因为他是文件的所有者。组worker中的任何用户也可以写入文件,因为这是文件的组。任何其他用户(不是david或组worker中的任何用户)都只允许读取文件。
关于文件权限的一些参考资料:https://en.wikipedia.org/wiki/File_系统_权限
https://wordpress.stackexchange.com/questions/215040
复制相似问题