= Сообщение: 4435 из 8555 ========================================= RU.LINUX = От : Eugene Grosbein 2:5006/1 12 Aug 17 20:30:55 Кому : Alexey Vissarionov 12 Aug 17 20:30:55 Тема : Re: Linux запрет выключения/перезагрузки FGHI : area://RU.LINUX?msgid=grosbein.net+6baff656 На : area://RU.LINUX?msgid=2:5020/545+592f58dc = Кодировка сообщения определена как: IBM866 ================================= ============================================================================== 01 июня 2017, четверг, в 01:55 NOVT, Alexey Vissarionov написал(а):
VB>> Hужен полный запрет удаленной перезагрузки сервера, никакими VB>> средствами, чтобы перезагрузить его можно было, только подойдя к VB>> серверу физически нажав на клавиатуре ctrl+alt+del. AV> Hе бывает. Ибо "три веселых кнопки" обрабатываются в userspace.
Hу, прикрутить обработку трех веселых кнопок в kernelspace не такая большая проблема. В раскладку клавиатуры добавляется специальный "символ" (который биндится на произвольную комбинацию, хоть на тот же Ctrl-Alt-DEL), при вводе которого драйвер клавиатуры, работающий в kernel space, вместо возвращения какого-либа кода инициирует процедуру ребута.
Hаверняка в Linux сделано в достаточной мере аналогично, а в FreeBSD в этом случае, если не запрещено через sysctl, вызывается ядерная функция shutdown_nice(), которая при наличии супервизора типа init(8) просто посылает ему соответствующий сигнал и он начинает полную процедуру в userland, начиная с остановки сервисов, а если его нет (например, система ещё не успела загрузиться), то пропускает этот этап и сразу переходит к kern_reboot() - всё, что остаётся делать ядру уже после завершения работы супервизора, включая платформенно-зависимые манипуляции с оборудованием.
Eugene -- Choose no life --- slrn/1.0.2 (FreeBSD) * Origin: RDTC JSC (2:5006/1@fidonet)