Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Обработка CTRL-ALT-DEL  (Прочитано 13356 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« : 22-01-2007 05:24 » 

В файле /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 может перезагрузить систему. Ни хорошо как-то получается.
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 22-01-2007 08:22 » 

Serg79, так было давно. Современные дистрибутивы требуют ввода пароля для подтверждения, если на консоли не root.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 22-01-2007 08:37 » 

Serg79, так было давно. Современные дистрибутивы требуют ввода пароля для подтверждения, если на консоли не root.
У меня стоит ALTLinux, там почему то данная комбинация работает из под любого пользователя. Я хочу как-то исправить этот не порядок.

У кого есть возможность, посмотрите в своем inittab, как там прописанна данная строка.
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 22-01-2007 09:29 » 

Serg79, думаю рыть нужно в сторону pam.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #4 : 22-01-2007 14:05 » 

RHEL


# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now

# When our UPS tells us power has failed, assume we have a few minutes
# of power left.  Schedule a shutdown for 2 minutes from now.
# This does, of course, assume you have powerd installed and your
# UPS connected and working correctly.
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"

# If power was restored before the shutdown kicked in, cancel it.
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"

Записан

Странно всё это....
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 22-01-2007 17:39 » 

Если заглянуть в man, то там все написано...

Цитата

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.

С другой стороны, ничто не мешает запустить reboot - а тут уже и нужно смотреть pam.
« Последнее редактирование: 22-01-2007 17:40 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 23-01-2007 04:58 » new

Если заглянуть в man, то там все написано...
Спасибо, уже заглянул и разобрался  Да-да Это решило все проблемы  Да-да

Я в начале начал копать в сторону init и пошел не в том направлении. Но в конце концов все тот же init вывел меня на shutdown и все встало на свои места.
Записан
Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 23-01-2007 05:02 » 

С другой стороны, ничто не мешает запустить reboot - а тут уже и нужно смотреть pam.
А reboot у меня обычный user запускать не может.
Записан
Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 23-01-2007 05:24 » 

У меня еще один вопрос. Как заставить работать данную строку из inittab:
Код:
# Action on special keypress (ALT-UpArrow).
kb::kbrequest:/bin/echo "Keyboard Request -- edit /etc/inittab to let this work."
Я не как не пойму, что это за комбинация такая ALT-UpArrow, это какую еще кнопку надо нажать вместе с ALT.

В man inittab говориться, что надо в какомто из конфигурационных файлов добавить такую строку:
Код:
alt keycode 103 = KeyboardSignal
Но в каком файле надо добавить я так и не понял.
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 23-01-2007 09:33 » 

Serg79, Arrow - стрела. Соотв. - Alt и стрелка вверх.

См. пакет kbd - управление консолью. Всякие таблицы (у меня ASP Linux 10.0) лежат в /lib/kbd .
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines