shutdown -r
Linux 系统上的默认 Ctrl-Alt-Delete 功能是否是一个危险的功能?
几年前,当我部署带有连接键盘和显示器的物理系统时,我有时会修改/etc/inittab
Red Hat 系统以禁用重启陷阱。这通常是在本地 IT 人员或 Windows 管理员意外地在错误的终端/键盘/窗口上使用魔法组合键并重启服务器后发生的。
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
自从 RHEL4 以来我还没有这样做过,但是较新的系统似乎有一个/etc/init/control-alt-delete.conf
用于此的文件。
此后的几年里,我的大多数系统都是无头部署的,或者作为虚拟机运行。这减少了意外重启的频率……然而,我最近遇到了一组 ctrl-alt-delete哎呀从:
1). 数据中心工作人员将 IP KVM 插入了错误的服务器。2
). Windows 管理员使用 VMware 控制台中的组合键,认为这是登录所需的。3
).我使用 HP ILO 控制台中的 ctrl-alt-delete 宏重新启动 Live CD...但实际上它是非常繁忙的生产服务器。
- 默认情况下禁用 Linux 中的 Ctrl-Alt-Delete 重启是否有意义?
- 这是一个普遍关心的问题,还是普遍被忽视?
- 这样做有什么坏处吗?
- 您如何在您的环境中处理这个问题?
编辑:事实上,我刚刚遇到了此服务器,虚拟机运行了1115天,root密码未知,没有安装VMware tools(因此 Ctrl-Alt-Delete 是唯一的正常关机选项)。
答案1
这对于很少碰过的机器非常有用。安装多年后,如果没有人能记住主机的登录信息,Ctrl-Alt-Delete 将正确关闭,然后让您使用 GRUB(甚至 LiLo!)为rw init=/bin/bash
内核提供信息,从而让您有机会重置 root 密码。
上述情况也表明,即使无法物理接触电源/重置开关和电源线,Ctrl-Alt-Delete 键仍然很危险。引导加载程序密码(以及 BIOS 密码以及禁用 USB/CD-ROM 引导和引导菜单键)可以防止这种情况发生,但会使合法的紧急恢复更加困难。
答案2
如果您有 ILO/IPMI/... 这绝对有意义。CTRLALTDEL 的唯一原因是当没有其他东西可以中断时,一个魔法陷阱。使用控制卡,您不需要它 - 无论如何您都可以重置机器。不用说,如果机器运行正常,您可以随时从控制台或 GUI 执行“reboot”/“shutdown -r now”/“init 6”/“systemctl reboot”。
答案3
我觉得通过 ctrl-alt-delete 意外重启的可能性比忘记服务器 root 密码的可能性大得多,因此在生产环境中禁用 ctrl-alt-delete 是有意义的。我个人在我的生产系统上就是这么做的。
在运行中的 Linux 主机上进行硬关机循环导致不可恢复的数据损坏的可能性很小。多年来,我做过数百次这样的操作,但我记不起有一次系统在启动时无法自我修复 (fsck)。因此,我认为在不知道 root 密码的主机上,这是一个有效的选项,除非有其他方法可以正常关机。