设置WordPress安装插件的权限会阻止通过SSH进行访问

设置WordPress安装插件的权限会阻止通过SSH进行访问,wordpress,amazon-web-services,ubuntu,ssh,Wordpress,Amazon Web Services,Ubuntu,Ssh,我已经阅读了几种解决WordPress中权限问题的方法,从WordPress管理部门安装主题和插件。 据我所知,问题在于安装WordPress的文件夹的所有者必须是管理web服务器(读取postdata)的用户。在我的Apache和AWS案例中,www数据 但是,通过将所有者更改为www数据(甚至只是将组更改为该用户),我将失去对服务器的SSH访问。在这种情况下,我必须要求整个服务器的管理员从其用户访问并恢复文件夹的所有者和权限 我正在使用带有Ubuntu 16.0.4 LTS的亚马逊Web服务

我已经阅读了几种解决WordPress中权限问题的方法,从WordPress管理部门安装主题和插件。

据我所知,问题在于安装WordPress的文件夹的所有者必须是管理web服务器(读取postdata)的用户。在我的Apache和AWS案例中,www数据

但是,通过将所有者更改为www数据(甚至只是将组更改为该用户),我将失去对服务器的SSH访问。在这种情况下,我必须要求整个服务器的管理员从其用户访问并恢复文件夹的所有者和权限

我正在使用带有Ubuntu 16.0.4 LTS的亚马逊Web服务,我可以访问一个主要用户,WordPress的安装位于用户的根目录,即/home/myuser/

我使用.pem密钥和myuser@publicdns

我能做什么

非常感谢你


PD:WordPress in说,所有者必须始终是ftp web服务器所有者(即myuser),而不是web服务器,我同意。

我讨厌回答自己的问题,但也许我可以帮助他人轻松快速地解决问题。这就是我的工作原理:

在执行所有这些操作之前,您应该注意我们在此处更改的所有文件夹和文件的所有权限、所有者和组,因为更改这些设置后,您的网站可能会失败。所有主机都有不同的配置。

只要您不退出会话,就可以返回您使用sudo权限所做的所有更改


如果WordPress安装在用户的根文件夹中,例如:/home/myuser/

注意权限、所有者和组:

使用ls命令和-a-l标志,您可以看到使用长列表格式的所有文件。在/home和/home/youruser/path中执行此操作

cd /home    
ls -al
cd /home/youruser
ls -al
复制输出并将其保存在某个文本文件中

防止丢失SSH访问:

文件夹的所有者必须是您正在访问的用户

sudo chown youruser /home/youruser/
我还设置了myuser文件夹的组

sudo chgrp youruser /home/youruser/
将此文件夹的权限设置为751(我认为重要的是所有者具有完全访问权限)

隐藏文件夹.ssh的权限必须为700(对于顶级文件夹),600(对于文件夹内的文件),并且所有者和组必须是youruser

sudo chmod 700 ~/.ssh/
sudo chmod 600 ~/.ssh/*
sudo chown -R youruser ~/.ssh/
sudo chgrp -R youruser ~/.ssh/
解决插件和主题安装问题:

我仍然不确定这个解决方案是否适合站点安全。但是,我认为您可以应用此修复程序,然后返回更改。在这两种情况下,网站都应该运行顺畅

我已经通过Nautilus中的sftp更改了文件夹和文件的权限。如果您使用的是.pem密钥,请记住使用ssh add path/to/your/key.pem添加密钥 然后连接到服务器sftp://youruser@yourpublicdns

文件夹中多次单击wp内容、wp管理、wp包含,然后右键单击->属性(或Ctrl+I),切换到权限选项卡,然后单击窗口底部的“将权限应用于封闭文件”按钮,设置:

文件

  • 所有者:读写
  • 组:只读
  • 其他:只读
文件夹

  • 所有者:创建和删除文件
  • 访问文件
  • 访问文件
这将对这三个选定文件夹中的文件和文件夹应用更改。根据您的互联网速度和文件量,这可能需要几分钟才能完成

在剩余的文件中进行多次单击,然后右键单击->属性(或Ctrl+I),更改为权限选项卡并设置

  • 所有者:读写
  • 组:读写
  • 其他:仅阅读
和最后一个

更改所有WordPress安装文件的所有者和组,即/home/youruser中的所有文件

sudo chown -R www-data wp*
sudo chgrp -R www-data wp*
这将对所有以“wp”字开头的文件进行递归更改。对于其余文件,我已手动进行了更改。有更好的方法,比如find命令,但它也改变了隐藏文件夹,所以我决定手动执行

将对文件的相应更改也应用于.htaccess

注意:测试您的网站。访问它,访问您的WordPress管理员,尝试安装插件和主题,打开另一个终端(不要关闭您正在编写命令的终端),并尝试SSH到您的Web服务器。如果您遇到问题,请使用备份和还原过程。

希望这有帮助。

sudo chown -R www-data wp*
sudo chgrp -R www-data wp*