COMMAND=/bin/chmod -R 777 失败启动后记录

COMMAND=/bin/chmod -R 777 logs after failstart

我正在尝试解决 Ubuntu 14.04(主要是 SSH)故障启动问题。我发现了其中一位开发人员执行的一些可疑命令。由于它们已被执行,我无法再使用 SSH 访问它。

root : TTY=pts/1 ; PWD=/var/www/html/projects/at2/htdocs/public ; USER=root ; COMMAND=/bin/chmod -R 777

root : TTY=pts/1 ; PWD=/var/www/html/projects/at2/htdocs/public ; USER=root ; COMMAND=/bin/chmod -R 777 ./images

root : TTY=pts/1 ; PWD=/var/www/html/projects/at2/htdocs/public ; USER=root ; COMMAND=/bin/chmod -R 777 . /

之后日志文件中充满了类似

的消息
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for '/etc/ssh/ssh_host_rsa_key' are too open.
This private key will be ignored.
bad permissions: ignore key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_rsa_key

每个命令究竟做了什么,我如何回滚它们?

你不应该给你的开发人员那么多权力,我建议重新安装整个系统,而不是修复所有不正确的权限。

最后一个命令将所有文件的访问权限设置为777,这意味着赋予用户、组和其他所有人读取、写入和列出的权限。

问题是ssh不喜欢错误设置权限然后启动失败。要解决此问题并立即访问,您可以使用以下命令:

chmod 600 -R /etc/ssh
COMMAND=/bin/chmod -R 777 . /

这可能是一个错字。他们想要 运行 chmod -R 777 ./ 并在两者之间得到 space。

这使得系统上的所有文件都可以被任何用户读取和写入。 SSH 现在将拒绝登录,因为任何人都可以修改主机私钥,这意味着没有人可以信任登录。但这只是问题之一。您的 sudo 访问权限以及许多其他问题也可能会被破坏。

你不能回滚。 (或者至少不会花费大量时间)您很可能必须重新安装整个主机。 (更快的选项)此时 ssh 连接将被拒绝。

我想现在唯一的步骤是:

  • 弄清楚如何获取受影响系统的副本,以便您拥有所需的任何内容的完整备份
  • 了解文件权限以及为什么任何文件都不应具有模式 0777
  • 向开发人员介绍文件权限以及为什么任何文件都不应具有模式 0777