被锁定在 RedHat 服务器之外

被锁定在 RedHat 服务器之外

我当了几年 Linux 管理员,我知道当我使用实时系统重新启动系统并挂载 / 或 /etc(取决于目录分布)时,我可以更改 root 的密码。我现在遇到了一个更大的问题。

我认为在使用 VI 时出现了问题,/etc/passwd 的第一行将第一个字母改为大写字母。所以现在 root 变成了 Root。有什么方法可以以普通用户身份更改此设置吗?

它运行在 Cisco 服务器上,我甚至可以通过 iLO 和 KVM 交换机访问系统。因此,有办法进入系统。但这是一个 24/7 系统,所以我无法关闭服务器。

我将非常感激您能提供的任何帮助。谢谢。

答案1

/etc/passwdUID 0 不被称为“root”并不意味着您已被锁定。这是我手动编辑并/etc/shadow以 root 的新名称重新登录后的系统:

SuperUser@sf:~# id
uid=0(SuperUser) gid=0(Root) groups=0(Root)

使用包含实际哈希密码的拼写/etc/shadow。但是,只有 root 可以读取此文件。如果您只将 passwd 更改为“Root”,则可能需要“root”。

您不能以普通用户的身份编辑密码,这会破坏其安全性。用户可以冒充他们想要的任何人,包括成为 uid 0。


您不需要文本编辑器即可在本地文件中更改用户。请参阅usermodshadow-utils 的手册页和相关命令。

操作系统管理员应该有某种方式从其通常的个人用户变为 root 用户。例如sudo规则或已知密码。如果您要更改 root 的登录名,则您是操作系统管理员。

您总是需要一个维护窗口来应对系统停机。如果没有其他问题,安全补丁就是最好的选择。因此,如果您仍然无法进入,请安排一个时间来修复此问题,即使要等到几个月后。

答案2

您是否没有sudoer可以访问的系统?如果没有,您需要在系统上找到漏洞。也许是 root 的 cron 执行的某些内容,而您的用户可以写入。检查/var/spool/cron/root是否有任何适用内容。

接下来是查找任何存在漏洞的服务。以此方式运行的程序root将允许您执行任意命令或自动执行可写脚本/程序。

接下来,查找具有setuid()适用粘着位设置的程序,看看是否有可以利用的东西。

如果它是一个“开箱即用”的系统,那么你很可能遇到麻烦,需要关闭电脑,将驱动器作为从属设备安装在另一台 Linux 主机上,然后从那里修改文件。

祝你好运!

答案3

我希望你从未遇到过这种情况,这真的很糟糕!如果没有配置 sudoers 并且无法执行重新启动,我认为没有太多解决方案。

抱歉,我坐在这里思考了很长时间如何才能解决这个问题,但我担心如果用户不能从该系统提升到 uid 0(sudo)或通过运行实时系统以 uid 0 物理访问数据,就什么也做不了。

相关内容