所以我在测试服务器上闲逛并意外地运行了以下命令(这导致 SSH 中断):
# chmod -R 777 /var
因为它是一个测试服务器,所以我不想现在重新安装,我有一些想要测试的东西。
我知道777
在实时服务器上这是非常糟糕的模式位集,因此我已经知道在服务器上做任何有价值的事情将是一件非常糟糕的事情。
有没有办法让 SSH 再次正常工作?
答案1
重置所有 UID 和 GID:
for i in $(rpm -qa); do rpm --setugids $i; done
重置所有权限:
for i in $(rpm -qa); do rpm --setperms $i; done
尝试重新启动:
service sshd restart
这有帮助吗?
答案2
听起来您可能通过删除需要它们的可执行文件上的 setuid 和 setgid 位来破坏一些东西。您也许可以通过找出哪些特定文件应该被 setuid 或 setgid 并修复它们来修复问题 - 例如,通过与另一台仍在工作的机器进行比较。