Linux глазами хакера
Шрифт:
Перейдите в папку /etc/rc.d/ и посмотрите на ее содержимое. Помимо программы, здесь есть каталоги с именами
Таким образом, система может обезопасить себя тем, что на одном уровне будут работать только те программы, которые должны быть в однопользовательском режиме, и многопользовательское вторжение
В каталоге /etc/rc.d/init.d находятся скрипты, которые запускают, останавливают или перезапускают сервисы в системе. Именно эти файлы используются при переходе с одного уровня на другой.
Очень интересной является строка:
Она выполняется на любом уровне, потому что второй аргумент отсутствует. Третий параметр равен
Получается, что по нажатию клавиш <Ctr>+<Alt>+<Del> запустится директива, требующая через три секунды перезагрузить систему.
Теперь посмотрим на строку, которая будет выполнена при сбое питания:
Строка выполняется на любом уровне. Здесь снова участвует команда
□
□
□
□ далее идет в кавычках сообщение, которое появится на каждой консоли. В графическом режиме все пользователи увидят окно с предупреждением такого же содержания.
Обратите внимание, что время до перезагрузки 2 минуты. Это очень мало, т.к. простые источники бесперебойного питания могут продлить работу компьютера до 20 минут. А если учесть, что серверы чаще всего стоят без монитора или, в крайнем случае, с выключенным дисплеем, то жизнь сервера может быть продлена до 40 минут. Значение в две минуты явно занижено, и я рекомендую проверить документацию на ваш источник бесперебойного питания и увеличить тайм-аут, чтобы сервер не ушел в перезагрузку раньше времени.
Теперь посмотрим, что происходит при восстановлении питания:
Команда выполняется на уровнях с 1 по 5 и отменяет перезагрузку. На 0 и 6 уровнях, когда уже начался процесс выключения системы или рестарт, аннулировать что-либо уже поздно.
Отмена происходит вызовом команды
Теперь посмотрим на следующие
строки:Здесь на шести терминалах (ttyX, где X — это номер терминала или виртуальной консоли) выдается сообщение на вход в систему. Это не есть хорошо, потому что хакер может воспользоваться любой консолью для проникновения в систему (в качестве администратора). Чтобы этого не произошло, можно запретить вход со всех терминалов, кроме одного. Для этого нужно заменить флаг
Вообще-то можно это и не делать. Есть способ лучше — конфигурирование настроек tty, которые находятся в файле /etc/securetty. Пример такого файла вы можете увидеть в листинге 3.3.
Этот файл определяет консоли и терминалы, с которых можно подключаться с правами
Для переключения между виртуальными консолями нужно нажать клавишу <Alt> и любую клавишу от <F1> до <F6>.
Самая последняя строка выполняется только на 5 уровне:
Эта строка запускает команду /etc/X11/prefdm, которая переводит работу в графический режим и отображает соответствующее окно входа в систему, которое мы рассматривали в разд. 2.7. Если вы используете текстовый режим, то для запуска графической оболочки можно использовать описанную ранее команду.
Если нужно, чтобы программа инициализации просмотрела конфигурационный файл inittab без смены уровня, то можно вручную принудить
Для перехода на другой уровень необходимо выполнить команду:
где X — новый уровень, на котором должна работать ОС. Эта команда удобна, если вы грузитесь на пятом уровне. В этом случае легко перейти в текстовый режим на уровень