Разве Ctrl-Alt-Delete в Linux * действительно * опасен?

55

Является ли shutdown -rфункция по умолчанию Ctrl-Alt-Delete в системах Linux опасной функцией?

Несколько лет назад, когда я развертывал физические системы с подключенными клавиатурами и мониторами, я иногда модифицировал системы /etc/inittabRed Hat, чтобы отключить ловушку перезагрузки. Обычно это происходит после того, как местный ИТ-специалист или администратор 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). я использовал макрос ctrl-alt-delete в консоли HP ILO для перезагрузки живого компакт-диска ... но на самом деле это был ILO для очень загруженного рабочего сервера .

введите описание изображения здесь


  • Имеет ли смысл по умолчанию отключать перезагрузку Ctrl-Alt-Delete в Linux?
  • Это общая проблема или вообще игнорируется?
  • Есть ли недостатки в этом?
  • Как вы справляетесь с этим в вашей среде?

Изменить: На самом деле, я только что столкнулся с этим сервером , виртуальная машина, работающая в течение 1115 дней, пароль root неизвестен, и инструменты VMware не были установлены ( поэтому Ctrl-Alt-Delete будет единственным вариантом изящного завершения работы ).

ewwhite
источник
7
Нет, потому что если вы не можете перезагрузить произвольный компьютер в вашей сети, у вас есть большие проблемы. Смотрите, например, Обезьяна Хаоса.
Дмурати
15
@ dmourati Это неправда. Реальные бизнес-системы не всегда работают как веб-приложения . Безответственно предполагать, что это архитектурный сбой.
ewwhite
8
Даже если бы вы могли перезагрузить произвольную систему, вы бы этого не хотели. В реальном ИТ-сценарии вы хотели бы запланировать перезагрузку только при необходимости . Oopsies всегда плохи, и их следует избегать, и этот вопрос все о oopsies.
Подмастерье Компьютерщик
6
@fduff В случае производственной системы, которую я перезагружал на этих выходных, это вызвало около 13 минут простоя, потому что сервер занимает много времени для POST, плюс приложение не работало корректно (оно не контролируется с помощью сценариев инициализации), что позволяет ~ 45 минут восстановления базы данных после перезагрузки.
ewwhite
6
@JamesRyan Возможно. Но не всегда. Если пользователи / администраторы Windows вынуждены использовать Ctrl-Alt-Delete для пробуждения экрана или аутентификации, это понятная ошибка. В ситуациях МОТ / IPMI / KVM, да, можно было бы
уделить

Ответы:

37

Это может быть полезно для очень, очень редко прикасающихся машин. Спустя годы после установки, если никто не сможет запомнить логин для хоста, Ctrl-Alt-Delete выполнит корректное отключение, а затем позволит вам использовать GRUB (или даже LiLo!) Для подачи rw init=/bin/bashв ядро ​​и, таким образом, даст вам возможность перезагрузить пароль root .

Вышеприведенное также является способом, которым Ctrl-Alt-Delete опасен, даже если физический доступ к переключателям питания / сброса и силовым кабелям запрещен. Пароль загрузчика (и пароль BIOS плюс отключение загрузки с USB / CD-ROM и клавиша меню загрузки) может предотвратить это, но затрудняет законное аварийное восстановление.

Аластер Ирвин
источник
3
Вы правы. Я уже использовал это свойство таким образом , в ситуации , которую вы описали.
ewwhite
Даже тогда легче загрузить «аварийный» носитель, смонтировать и ввести хэш известного пароля. За IPMI вы загрузите носитель из файла ISO, что делает весь «физический доступ» вопрос спорный. Или вы загружаете из специальной конфигурации tftp / pxe, после включения загрузки из сети.
Dani_l
Я полагаю, что то, что я упомянул о пароле и параметрах BIOS, все еще применяется при использовании IPMI. Я был бы рад услышать, если это неправильно.
Аластер Ирвин
1
Я не согласен по поводу спасательных СМИ. Нетрудно запомнить параметры ядра, о которых я упоминал. Для вашего метода требуется оптический носитель (или файл ISO под IPMI) и хэш пароля, который необходимо ввести или скопировать с USB-накопителя. (Если вы проголосовали против, пожалуйста, отмените.)
Аластер Ирвин
1
@AlastairIrvine Я не понизил голос, и вы правы насчет ipmi - консоль ipmi предоставит вам доступ к консоли машины в течение всего процесса загрузки, включая ввод BIOS, и вы столкнетесь с такими же проблемами. Не говоря уже о том, что уважающий себя сервер HW должен иметь возможность облегчить изменение параметров при запуске ОС (например, IBM ASU ibm.com/support/entry/myportal/docdisplay?lndocid=TOOL-ASU ).
Dani_l
7

Если у вас есть МОТ / IPMI / ... Это имеет абсолютный смысл. Единственной причиной CTRLALTDEL была магическая ловушка, когда ничто другое не могло прерваться. С контрольной картой это вам не нужно - вы все равно можете перезагрузить машину. Нет необходимости говорить, что если машина ведет себя правильно, вы всегда можете «перезагрузиться» / «shutdown -r now» / «init 6» / «systemctl reboot» из консоли или графического интерфейса.

Dani_l
источник
4

Мне кажется, что вероятность случайной перезагрузки с помощью ctrl-alt-delete намного больше, чем вероятность того, что пароль корневого сервера будет забыт, и поэтому в производственных средах имеет смысл отключить ctrl-alt-delete. Я лично делаю это на своих производственных системах.

Шансы жесткого выключения питания на работающем хосте Linux, вызывающего неустранимое повреждение данных, невелики. За сотни лет, что я делал это на протяжении многих лет, я не могу вспомнить ни одного случая, когда система не могла исправить себя (fsck) при загрузке. Поэтому я считаю эту опцию допустимой на хостах, где пароль root неизвестен, за исключением доступности других методов для корректного завершения работы.

Майкл Мартинес
источник
1
Как отключить опцию ctrl-alt-delete на виртуальной машине, размещенной на сервере Esx?
Квивек