更正WordPress的文件权限

我已经看过这里,但没有找到关于最佳文件权限的任何细节。 我也在这里看了一些关于WordPress表单的问题,但是任何暗示777的人都明显需要一些安全方面的教训。

总之我的问题是这样的。 我应该具备以下哪些权限:

  • 根文件夹存储所有的WordPress内容
  • 可湿性粉剂管理员
  • WP-内容
  • WP-包括
  • 然后在每个文件夹中的所有文件?


    当您设置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,
  • 给wp-content组写入权限775并加入组www-data或
  • 使用ACL为您的用户提供对文件夹的访问权限。
  • 无论你做什么,都要确保这些文件对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

  • 将您的用户添加到www-data组:
  • 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');

    链接地址: http://www.djcxy.com/p/39183.html

    上一篇: Correct file permissions for WordPress

    下一篇: How to disable breadcrumbs in Eclipse