# What to do when CTRL-ALT-DEL is pressed.
ca:012345:ctrlaltdel:/sbin/shutdown -t3 -r now
Подскажите, как мне заставить систему реагировать на эту комбинацию только от супер-пользователя.
А то как то стронно, команды: halt, shutdown, reboot обычный юзер вызывать не может. А используя CTRL-ALT-DEL может перезагрузить систему. Ни хорошо как то получается.
# What to do when CTRL-ALT-DEL is pressed.
ca:012345:ctrlaltdel:/sbin/shutdown -t3 -r now
Подскажите, как мне заставить систему реагировать на эту комбинацию только от супер-пользователя.
А то как то стронно, команды: halt, shutdown, reboot обычный юзер вызывать не может. А используя CTRL-ALT-DEL может перезагрузить систему. Ни хорошо как то получается.
команды halt, shutdown, reboot можно выполнить удаленно, а вот кнопки на клавиатуре удаленно ну никак не нажмешь. Тем более если юзеру надо выключить комп он и кнопку на системнике может нажать. А если и кнопки заблокируешь, то и шнур питания вытянуть может.
А если по делу, то наверное можешь попробовать написать небольшой скриптик, который проверяет кто нажал комбинацию клавишь.
admiral, Вы хотите сказать, что на всех дистрибутивах Linux данной комбинацией может воспользоваться любой юзер который вошел локально в систему?
Я не пробовал все дестрибутивы, но те, что я видел - везде.
Я просто не вижу смысла запрещать юзерам нажимать ctrl+alt+del. Если есть физический доступ к системнику - то если человек захочет выключить комп или перегрузить он его в любом случае перегрузит (тем же выдергиванием вилки из розетки). И что плохого в перезагрузке по ctrl+alt+del?
admiral, Вы хотите сказать, что на всех дистрибутивах Linux данной комбинацией может воспользоваться любой юзер который вошел локально в систему?
Я не пробовал все дестрибутивы, но те, что я видел - везде.
Я просто не вижу смысла запрещать юзерам нажимать ctrl+alt+del. Если есть физический доступ к системнику - то если человек захочет выключить комп или перегрузить он его в любом случае перегрузит (тем же выдергиванием вилки из розетки). И что плохого в перезагрузке по ctrl+alt+del?
Смысл есть, если компьютер общего пользования, к которому имеют доступ разные юзеры. На компе, например, может быть запущено несколько Х-серверов (как это сделано на пультовой ВЭПП-5), по сети может кто-то в данный момент что-то делать, если диски отдаются по NFS... Да много причин может быть для этого.
(offtop)
Так у нас студенты одно время приходили на пультовую и, несмотря на запреты садились за компы, на которых крутилась система управления работающим ускорителем. Не видя милую сердцу виндовскую оболочку жали три заветных кнопки в надежде, что после перезагрузки все будет как они привыкли. Еще до того как на экране появлялось LILO: прибегали разъяренные физики и вставляли крупнокалибенрый пистон этому деятелю. Пока наш админ не убрал ребут с этой комбинации и поставил боевой крик Тарзана с выводом на динамик. Как это сделали, не помню, давно дело было, по-моему в XF86Config определили.
(\offtop)
Так если вы переназначить хотите, то просто вместо shutdown напишите echo
например. Да и вообще эту строку можно закоментировать и эта комбинация
клавиш работать не будет. Не говоря что вы можете вообще свой скрипт написать.
ACCESS CONTROL
shutdown can be called from init(8) when the magic keys CTRL-ALT-DEL are pressed, by creating an appropriate entry
in /etc/inittab. This means that everyone who has physical access to the console keyboard can shut the system down.
To prevent this, shutdown can check to see if an authorized user is logged in on one of the virtual consoles. If
shutdown is called with the -a argument (add this to the invocation of shutdown in /etc/inittab), it checks to see
if the file /etc/shutdown.allow is present. It then compares the login names in that file with the list of people
that are logged in on a virtual console (from /var/run/utmp). Only if one of those authorized users or root is
logged in, it will proceed. Otherwise it will write the message
shutdown: no authorized users logged in
to the (physical) system console. The format of /etc/shutdown.allow is one user name per line. Empty lines and com-
ment lines (prefixed by a #) are allowed. Currently there is a limit of 32 users in this file.
Note that if /etc/shutdown.allow is not present, the -a argument is ignored.
Я в начале начал копать в сторону init и пошел не в том направлении. Но в конце концов все тот же init вывел меня на shutdown и все встало на свои места.