Глава 28. Доступ к консоли

Когда обычные пользователи (не root) регистрируются на компьютере локально, им предоставляется два вида специальных разрешений:

  1. Они могут запускать определённые программы, выполнение которых в противном случае запрещено.

  2. Они могут получать доступ к определённым файлам (обычно, это специальные файлы устройств, используемые при обращении к дискетам, приводам CD-ROM, и так далее), к которым они не могут получить доступ, подключившись удалённо.

Так как на одном компьютере существует множество консолей, зарегистрироваться локально могут одновременно несколько пользователей, один из них должен по сути «выиграть гонку» для получения доступа к файлам. Этими файлами владеет первый пользователь, зарегистрировавшийся на консоли. Когда этот пользователь выходит из системы, ими будет владеть следующий вошедший пользователь.

Но при этом любому пользователю, вошедшему в систему на консоли, разрешено запускать программы, выполняющие действия, обычно разрешённые только пользователю root. Если используется система X, к таким действиям относятся и пункты меню в графическом интерфейсе пользователя. По умолчанию, в число программ, доступных на консоли, входят halt, poweroff и reboot.

28.1. Запрет отключения с помощью [Ctrl]-[Alt]-[Del]

По умолчанию в файле /etc/inittab определяется, что ваша система будет остановлена и перезагружена при нажатии на консоли комбинации клавиш [Ctrl]-[Alt]-[Del]. Чтобы полностью отключить эту возможность, закомментируйте следующую строку в файле /etc/inittab, поставив знак решётки (#) в начале строки:

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

С другой стороны, вы можете разрешить определённым пользователям (не root) выключать систему с консоли, используя [Ctrl]-[Alt]-[Del]. Эту привилегию можно дать определённым пользователям, выполнив следующие действия:

  1. Добавьте параметр -a в показанную выше строку файла /etc/inittab, чтобы она выглядела так:

    ca::ctrlaltdel:/sbin/shutdown -a -t3 -r now

    Флаг -a указывает команде shutdown проверять файл /etc/shutdown.allow.

  2. Создайте файл shutdown.allow в каталоге /etc. Файл shutdown.allow должен содержать имена пользователей, которым позволено выключать систему, используя [Ctrl]-[Alt]-[Del]. Файле shutdown.allow представляет собой список имён пользователей, по одному в строке, и выглядит примерно так:

    stephen
    jack
    sophie

В этом примере файла shutdown.allow пользователям stephen, jack и sophie разрешается отключать систему с консоли, используя сочетание клавиш [Ctrl]-[Alt]-[Del]. Когда пользователь нажимает эти клавиши, команда shutdown -a в файле /etc/inittab проверяет, присутствует ли пользователь, зарегистрированный на виртуальной консоли, в файле /etc/shutdown.allow (или это root). Если это так, отключение системы продолжается; в противном случае на консоль выводится сообщение об ошибке.

За дополнительными сведениями о shutdown.allow обратитесь к странице man shutdown.