Обработка CTRL-ALT-DEL (перезагрузка системы)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Serg79
Сообщения: 153

Обработка CTRL-ALT-DEL

Сообщение Serg79 »

В файле /etc/inittab описан обработчик нажатия комбинации клавиш:

Код: Выделить всё

# What to do when CTRL-ALT-DEL is pressed.
ca:012345:ctrlaltdel:/sbin/shutdown -t3 -r now

Подскажите, как мне заставить систему реагировать на эту комбинацию только от супер-пользователя.

А то как то стронно, команды: halt, shutdown, reboot обычный юзер вызывать не может. А используя CTRL-ALT-DEL может перезагрузить систему. Ни хорошо как то получается.
Спасибо сказали:
Аватара пользователя
admiral
Сообщения: 361

Re: Обработка CTRL-ALT-DEL

Сообщение admiral »

Serg79 писал(а):
22.01.2007 10:47
В файле /etc/inittab описан обработчик нажатия комбинации клавиш:

Код: Выделить всё

# 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 можно выполнить удаленно, а вот кнопки на клавиатуре удаленно ну никак не нажмешь. Тем более если юзеру надо выключить комп он и кнопку на системнике может нажать. А если и кнопки заблокируешь, то и шнур питания вытянуть может.
А если по делу, то наверное можешь попробовать написать небольшой скриптик, который проверяет кто нажал комбинацию клавишь.
Спасибо сказали:
Serg79
Сообщения: 153

Re: Обработка CTRL-ALT-DEL

Сообщение Serg79 »

admiral, Вы хотите сказать, что на всех дистрибутивах Linux данной комбинацией может воспользоваться любой юзер который вошел локально в систему?
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Обработка CTRL-ALT-DEL

Сообщение allez »

Вы хотите сказать, что на всех дистрибутивах Linux данной комбинацией может воспользоваться любой юзер который вошел локально в систему?
Ну почему же на всех? Кое-где эта строка по умолчанию закомментирована или даже отсутствует.
Спасибо сказали:
Аватара пользователя
admiral
Сообщения: 361

Re: Обработка CTRL-ALT-DEL

Сообщение admiral »

Serg79 писал(а):
22.01.2007 11:43
admiral, Вы хотите сказать, что на всех дистрибутивах Linux данной комбинацией может воспользоваться любой юзер который вошел локально в систему?

Я не пробовал все дестрибутивы, но те, что я видел - везде.
Я просто не вижу смысла запрещать юзерам нажимать ctrl+alt+del. Если есть физический доступ к системнику - то если человек захочет выключить комп или перегрузить он его в любом случае перегрузит (тем же выдергиванием вилки из розетки). И что плохого в перезагрузке по ctrl+alt+del?
Спасибо сказали:
7biohazard7
Сообщения: 618
Статус: Любитель SUSE
ОС: Suse 11.2

Re: Обработка CTRL-ALT-DEL

Сообщение 7biohazard7 »

Извините конечно, но логониться зачем?
Это комбинация и без логона отрабатывает...
Можете сами проверить.
Спасибо сказали:
Grom
Сообщения: 260
ОС: Debian Etch, RHEL-5.4

Re: Обработка CTRL-ALT-DEL

Сообщение Grom »

admiral писал(а):
22.01.2007 12:05
Serg79 писал(а):
22.01.2007 11:43

admiral, Вы хотите сказать, что на всех дистрибутивах Linux данной комбинацией может воспользоваться любой юзер который вошел локально в систему?

Я не пробовал все дестрибутивы, но те, что я видел - везде.
Я просто не вижу смысла запрещать юзерам нажимать ctrl+alt+del. Если есть физический доступ к системнику - то если человек захочет выключить комп или перегрузить он его в любом случае перегрузит (тем же выдергиванием вилки из розетки). И что плохого в перезагрузке по ctrl+alt+del?


Смысл есть, если компьютер общего пользования, к которому имеют доступ разные юзеры. На компе, например, может быть запущено несколько Х-серверов (как это сделано на пультовой ВЭПП-5), по сети может кто-то в данный момент что-то делать, если диски отдаются по NFS... Да много причин может быть для этого.

(offtop)
Так у нас студенты одно время приходили на пультовую и, несмотря на запреты садились за компы, на которых крутилась система управления работающим ускорителем. Не видя милую сердцу виндовскую оболочку жали три заветных кнопки в надежде, что после перезагрузки все будет как они привыкли. Еще до того как на экране появлялось LILO: прибегали разъяренные физики и вставляли крупнокалибенрый пистон этому деятелю. Пока наш админ не убрал ребут с этой комбинации и поставил боевой крик Тарзана с выводом на динамик. Как это сделали, не помню, давно дело было, по-моему в XF86Config определили.
(\offtop)

Serg79:
Попробуй сделать

#chmod 700 /sbin/shutdown

должно помочь
Послужной список: Slackware-3.x, RedHat-4.x,5.x,6.x,7.x, FedoraCore-3, Debian Etch/Lenny
Осваиваю: RHEL-5.4
Спасибо сказали:
7biohazard7
Сообщения: 618
Статус: Любитель SUSE
ОС: Suse 11.2

Re: Обработка CTRL-ALT-DEL

Сообщение 7biohazard7 »

Так если вы переназначить хотите, то просто вместо shutdown напишите echo
например. Да и вообще эту строку можно закоментировать и эта комбинация
клавиш работать не будет. Не говоря что вы можете вообще свой скрипт написать.
Спасибо сказали:
Аватара пользователя
polachok
Бывший модератор
Сообщения: 2199
Статус: главный форумный маргинал
ОС: gnu/linux

Re: Обработка CTRL-ALT-DEL

Сообщение polachok »

#!/bin/sh
who | grep root | grep vc || ls -R / > /dev/dsp

?
И немедленно выпил.
Спасибо сказали:
Serg79
Сообщения: 153

Re: Обработка CTRL-ALT-DEL

Сообщение Serg79 »

man shutdown помог решить данную проблему:

Код: Выделить всё

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 и все встало на свои места.
Спасибо сказали: