简单介绍一下背景:我们有一台旧的机架式服务器,运行着由 Navaho 公司制造的定制版 Fedora。该服务器是 TeamCAT,运行着一些名为 Freedom2 的专有垃圾。我们必须继续使用它 - 替代方案非常昂贵,而且业务不太可能持续太久,因此有必要进行更改。
不管怎样,我都得想办法解决我们缺少根访问权限的问题。前任管理员已经陷入困境,但没有人知道。
我们无权访问该服务器的根帐户。ssh 正在服务器上运行,并且有一个我们可以登录的帐户管理员,但是它无权执行任何操作(讽刺......)
进入服务器的唯一其他方法是使用零调制解调器串行电缆。这种方法在一定程度上是可行的。我可以看到 BIOS,可以看到 BIOS 后屏幕,然后看到“正在启动 grub”,接着是另一个屏幕,其中有大约四行 Linux 信息,但随后它就停在了那里。服务器继续启动,大约两分钟后所有服务都上线,但串行终端不再显示任何信息。
我知道可以将 Linux 置于“单用户模式”以重置 root 密码,但除了尝试在上面列出的 grub 阶段中断它之外,我不知道如何做到这一点。当我尝试时,它只是冻结了。这几乎就像 grub 出现了(因为服务器没有继续启动)但我在串行终端上看不到它。这让我想到也许 grub 屏幕有一些不同的串行设置?我不知道......这是我第一次使用串行进行访问!
我的一个朋友建议尝试使用 Fedora 启动 CD。我们可以从 USB 启动,因此这种方法是可行的,但我们仍然只能看到串行终端上发生的事情,因此可能无法实现。
有人对我可以尝试的事情有什么建议吗?我知道这有点不切实际,但任何帮助都是无价的。
更新 1 - 2012 年 8 月 28 日- 我们今天会对此进行一些尝试,稍后会发布更多详细信息!
更新 2 - 2012 年 8 月 28 日- 我尝试了至少四个不同的发行版,但都无法继续。最终结果总是相同的 - 您会看到“SYSLINUX”等等,好像启动正在开始,但之后就什么都没有了。这可能是因为大多数 Linux 版本都有某种图形界面作为其下一个屏幕,而串行控制台会忽略它。
我正在考虑尝试使用某个非常老的版本。请记住,我们讨论的是一台已有 10 年历史的服务器。它真的没有任何能力!
我尝试过的最老的版本是 Ubuntu 6.06 LTS。它的成功率大概是“最高”的(我看到 SYSLINUX 后面有好几行),CD 转了好久,似乎在做一些事情,但终端上什么都没有显示。当我在普通 PC 上启动它时,它对我来说显然看起来像一个图形界面,所以这也许可以解释为什么我的串行终端什么都没有显示。有没有更老的版本可以尝试启动?
答案1
可能性 1
我建议将小型 Linux 放在 USB 驱动器上并从中启动。越简单越好。(通过串行连接获得所有内容的机会越大)。我建议使用 Knoppix。打开 root-shell。
现在,尝试安装您的磁盘。如果您对分区和/或磁盘一无所知,请查看:
cat /proc/partitions
如果不存在,请尝试
fdisk -l
这将为您提供启动时找到的分区列表。现在使用 Linux 安装安装您的磁盘。
mount /dev/hda1 /mnt
(更改/dev/hda1
为您的磁盘/分区)
现在您可以通过发出以下命令来访问系统:
chroot /mnt
然后您可以使用passwd
重置 root 密码。要退出chroot
,只需输入exit
并重新启动服务器。
可能性 2
您说您可以看到 grub 正在启动,请尝试使用向上/向下箭头停止内核的自动启动。之后,选择正确的内核并编辑条目。您将看到以 开头的行kernel
,点击e
编辑该行并在行末添加S
(或单词Single
)。之后,按b
启动它。
这将使您的系统处于单用户模式,您可以在其中passwd
重置 root 密码。
答案2
你也可以尝试 DarkSide:我相信这么老的 Fedora 有很多活跃的漏洞,你可以用它来训练你的安全技能并获得 r00t 访问权限 :)