更正WordPress的文件权限
我已经看过这里,但没有找到关于最佳文件权限的任何细节。 我也在这里看了一些关于WordPress表单的问题,但是任何暗示777的人都明显需要一些安全方面的教训。
总之我的问题是这样的。 我应该具备以下哪些权限:
然后在每个文件夹中的所有文件?
当您设置WP时,您(网络服务器)可能需要对文件进行写入访问。 所以访问权限可能需要宽松。
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 <username>:<username> -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, 无论你做什么,都要确保这些文件对www数据具有rw权限。
为www-data
用户(在这种情况下是web服务器用户)提供对所有wp文件的完全访问权限可能很危险。 所以宁可不要这样做:
chown www-data:www-data -R *
但是,在安装或升级WordPress及其插件时,它可能很有用。 但是当你完成时,保留Web服务器所拥有的wp文件已经不是一个好主意。
它基本上允许网络服务器放置或覆盖您网站上的任何文件。 这意味着如果有人设法使用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/
一起出现的目录应由任何插件或主题所需的文件记录。 权限可能会有所不同。
来源和其他信息:http://codex.wordpress.org/Hardening_WordPress
对于那些在他们的主文件夹下有wordpress根文件夹的人:
** Ubuntu / apache
CREDIT授予对www数据组的写入权限
你想在你的用户上调用usermod
。 所以这将是:
sudo usermod -aG www-data yourUserName
**假设存在www-data
组
检查你的用户是否在www-data
组中:
groups yourUserName
你应该得到像这样的东西:
youUserName : youUserGroupName www-data
** youUserGroupName通常与您的用户名相似
递归地更改wp-content文件夹的组所有权,以保持用户的所有权
chown yourUserName:www-data -R youWebSiteFolder/wp-content/*
将目录更改为您的WebSiteFolder / wp-content /
cd youWebSiteFolder/wp-content
递归更改文件夹和子文件夹的组权限以启用写入权限:
find . -type d -exec chmod -R 775 {} ;
** / home / yourUserName / youWebSiteFolder / wp-content /'的模式从0755(rwxr-xr-x)更改为0775(rwxrwxr-x)
递归更改文件和子文件的组权限以启用写入权限:
find . -type f -exec chmod -R 664 {} ;
结果应该如下所示:
WAS:
-rw-r--r-- 1 yourUserName www-data 7192 Oct 4 00:03 filename.html
CHANGED TO:
-rw-rw-r-- 1 yourUserName www-data 7192 Oct 4 00:03 filename.html
相当于:
chmod -R ug + rw文件夹名称
权限将像文件664或目录775。
如果有人在更新插件时遇到错误'could not create directory'
,请执行以下操作:
server@user:~/domainame.com$ sudo chown username:www-data -R wp-content
当你在你的域名的根源。
假设: wp-config.php
有
LocalHost上的FTP凭证
define('FS_METHOD','direct');