Показать сообщение отдельно
  #35  
Старый 12.08.2017, 18:40
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию Re: Linux запрет выключения/перезагрузки

Eugene Grosbein написал(а) к Alexey Vissarionov в Aug 17 20:30:55 по местному времени:

01 июня 2017, четверг, в 01:55 NOVT, Alexey Vissarionov написал(а):

VB>> Нужен полный запрет удаленной перезагрузки сервера, никакими
VB>> средствами, чтобы перезагрузить его можно было, только подойдя к
VB>> серверу физически нажав на клавиатуре ctrl+alt+del.
AV> Не бывает. Ибо "три веселых кнопки" обрабатываются в userspace.

Ну, прикрутить обработку трех веселых кнопок в kernelspace не такая
большая проблема. В раскладку клавиатуры добавляется специальный
"символ" (который биндится на произвольную комбинацию, хоть на тот
же Ctrl-Alt-DEL), при вводе которого драйвер клавиатуры, работающий
в kernel space, вместо возвращения какого-либа кода инициирует процедуру
ребута.

Наверняка в Linux сделано в достаточной мере аналогично,
а в FreeBSD в этом случае, если не запрещено через sysctl,
вызывается ядерная функция shutdown_nice(), которая при наличии
супервизора типа init(8) просто посылает ему соответствующий
сигнал и он начинает полную процедуру в userland, начиная
с остановки сервисов, а если его нет (например, система ещё
не успела загрузиться), то пропускает этот этап и сразу переходит
к kern_reboot() - всё, что остаётся делать ядру уже после
завершения работы супервизора, включая платформенно-зависимые
манипуляции с оборудованием.

Eugene
--
Choose no life
--- slrn/1.0.2 (FreeBSD)
Ответить с цитированием