当系统引导的 initrd 部分出现错误时,dracut 将掉入 shell(这样您就可以修复问题)。有没有办法在进入 shell 之前要求输入密码,就像 Debian 的 initramfs-tools 救援 shell 一样?
我有几台 Fedora 机器(目前是 Fedora 17,即将成为 Fedora 20)在公共实验室环境中运行。其中一个今天出现了 fsck 错误并掉到了救援外壳。在我使用该系统之前,有人试图使用它(幸运的是,没有点击救援 shell 中可用的任何命令)。我想防止再次发生。
我认为您应该能够通过添加
rd.shell=0
到内核命令行来禁用它。然后,如果引导失败,它将打印一条消息,但不会放入 shell,您必须进入 grub 并使用修改后的命令行重新启动以获取 shell。启用紧急外壳时会发生这种情况。当 dracut 无法挂载根文件系统时,会生成此调试 shell。由于密码位于根文件系统上,因此在这个早期阶段实际上不可能进行身份验证。
检查内核命令行以获取
rd.shell
. 此选项应设置为0
或不存在,以禁用紧急外壳。