适用于WordPress的正确文件权限
适用于WordPress的正确文件权限
已关闭。该问题不符合Stack Overflow指南。它目前不接受回答。
该问题似乎超出了帮助中心所定义的编程范围。
已锁定。此问题及其回答因不适合而被锁定,但具有历史意义。它目前不接受新答案或交互。
我已经查看了这里,但没有找到有关最佳文件权限的详细信息。我还查看了WordPress表单问题这里,但任何建议777的人显然需要一点安全课程。
简而言之,我的问题是这样的。以下各项应该具备哪些权限:
- 存储所有WordPress内容的根目录
- wp-admin
- wp-content
- wp-includes
每个文件夹中的所有文件呢?
将所有wp文件完全授予www-data
用户(在本例中为Web服务器用户)可能会很危险。因此,请不要执行以下操作:
chown www-data:www-data -R *
然而,当您安装或升级WordPress及其插件时,它可能非常有用。但是,当您完成后,继续让Web服务器拥有wp文件不再是一个好主意。基本上,这允许Web服务器在您的网站上放置或覆盖任何文件。这意味着如果某人设法使用Web服务器(或某些.php脚本中的安全漏洞)将某些文件放置在您的网站上,则有可能接管您的站点。为了保护您的站点免受此类攻击,您应执行以下操作:
所有文件都应归您的用户帐户所有,并且您应拥有可写权限。任何需要WordPress写入访问权限的文件都应为Web服务器可写,如果您的托管设置需要,那可能意味着这些文件需要由Web服务器进程使用的用户帐户拥有组所有权。
/
根WordPress目录:所有文件只应归您的用户帐户所有,除了.htaccess文件(如果您希望WordPress自动生成重写规则)。
/wp-admin/
WordPress管理区域:所有文件只应归您的用户帐户所有。
/wp-includes/
大部分WordPress应用程序逻辑:所有文件只应归您的用户帐户所有。
/wp-content/
用户提供的内容:应可由您的用户帐户和Web服务器进程编写。
在
/wp-content/
目录下,您将会找到:
/wp-content/themes/
主题文件。如果您想使用内置的主题编辑器,则所有文件都需要被Web服务器进程写入。如果您不想使用内置的主题编辑器,则所有文件只能由您自己的用户账户写。
/wp-content/plugins/
插件文件:所有文件只能由您自己的用户账户写。
其他可能存在于
/wp-content/
中的目录应该由需要它们的插件或主题进行记录。权限可能会有所不同。
当您设置WP时(Web服务器),可能需要对文件具有写访问权限。因此,访问权限可能需要放宽。
chown www-data:www-data -R * # Let Apache be owner find . -type d -exec chmod 755 {} \; # Change directory permissions rwxr-xr-x find . -type f -exec chmod 644 {} \; # Change file permissions rw-r--r--
设置完成后,应收紧访问权限,根据Hardening WordPress,除了wp-content之外的所有文件都应该只能由您的用户帐户具有写权限。wp-content必须由www-data也具有写权限。
chown: -R * # Let your useraccount be owner chown www-data:www-data wp-content # Let apache be owner of wp-content
也许您以后想要更改wp-content中的内容。在这种情况下,您可以
- 暂时使用
su
切换到www-data用户, - 给wp-content组赋予写访问权限775并加入www-data组,或者
- 使用ACL(访问控制列表)为文件夹授予您的用户访问权限。
无论您做什么,务必确保文件对www-data具有rw权限。