Чтение онлайн

на главную

Жанры

Linux глазами хакера

Флёнов Михаил Евгеньевич

Шрифт:

□ 

флаги
— задает поведение команды, может принимать одно из следующих значений:

 • 

boot
— выполняется только один раз при загрузке ОС. В этом случае параметр
уровни
просто игнорируется;

 • 

bootwait
— равносильно указанию параметров
boot
и
wait
одновременно, т.е. выполнение должно быть во время загрузки ОС, и при этом нужно дождаться завершения операции;

 • 

ctrlaltdel
— нажата комбинация клавиш <Ctrl>+<Alt>+<Del>.
Случайных или незапланированных перезагрузок быть не должно. Наличие трех клавиш — это недостаток, потому что любой хакер может подойти и нажать их ради шутки или в корыстных целях. Я рекомендую отключить эту возможность, установив в начале строки знак комментария "#";

 • 

initdefault
— строка с этим параметром читается только при первом обращении к init и определяет уровень загрузки. Если в этой строке будет стоять число 5, то ОС будет сразу в графический режим. Если вам нужно загрузить ОС в текстовый, многопользовательский режим с поддержкой сети, то измените значение параметра на цифру 3 (см. описание уровней загрузки). Можно указать несколько чисел (я не рекомендую этого делать), в этом случае будет выбрано максимальное;

 • 

off
— отключить выполнение команды, что равноценно превращению строки в комментарий или даже удалению. Но если этот процесс уже работает, то ему передается сигнал, требующий завершения программы;

 • 

once
— выполнять команду только один раз;

 • 

powerfail
— отключение электроэнергии. Ошибку можно увидеть только при наличии источника бесперебойного питания, подключенного к компьютеру через специальный интерфейс (чаще всего через СОМ-порт);

 • 

powerokwait
— подача электроэнергии возобновилась;

 • 

powerwait
— система перешла в режим ожидания восстановления питания. Предполагается, что к компьютеру подключен источник бесперебойного питания, который сообщил об ошибке (отсутствии питания);

 • 

respawn
— если во время выполнения произойдет ошибка, то повторить команду. Это бывает необходимо для критически важных программ, которые должны быть всегда в запущенном состоянии;

 • 

sysinit
— такие команды выполняются перед тем, как появится консоль (приглашение ввести пароль). При этом ОС дожидается окончания выполнения команды;

 • 

wait
— ожидать завершения процесса, а значит, программа init не будет выполнять других действий, пока не закончится выполнение команды, указанной в этой строке. Например, если нужно проверить состояние диска, то необходимо заморозить дальнейшую загрузку до окончания проверки;

□ 

Действие
— команда, которая должна быть выполнена.

Теперь рассмотрим некоторые строки из листинга 3.2, чтобы понять их смысл и научиться управлять ими для повышения эффективности системы.

Самая первая строка после комментариев в нашем файле выглядит так:

id:5:initdefault:

Мы уже знаем, что параметр

initdefault
определяет, как будет загружаться система. В данном случае файл init будет выполняться с 5 уровнем, т.е. в графическом режиме.

Следующим интересным моментом являются строки:

10:0:wait:/etc/rc.d/rc 0

11:1:wait:/etc/rc.d/rc 1

12:2:wait:/etc/rc.d/rc 2

13:3:wait:/etc/rc.d/rc 3

14:4:wait:/etc/rc.d/rc 4

15:5:wait:/etc/rc.d/rc 5

16:6:wait:/etc/rc.d/rc 6

Как

видите, здесь для каждого уровня своя строка, и при этом запускается один и тот же файл /etc/rc.d/rc, но после имени через пробел стоит число, соответствующее текущему уровню. Это параметр, который увидит программа /etc/rc.d/rc.

Что это за программа? Основная ее задача — убить все текущие процессы и запустить другие, соответствующие новому режиму выполнения. Например, вы работали на 3 уровне (полный многопользовательский режим) и хотите перейти на 1 (однопользовательский). Как это происходит? Все программы многопользовательского режима завершаются, а потом активизируются только те процессы, которые соответствуют однопользовательскому режиму, и ничего лишнего в памяти не должно быть. Именно это и делает программа /etc/rc.d/rc.

Перейдите в папку /etc/rc.d/ и посмотрите на ее содержимое. Помимо программы, здесь есть каталоги с именами

rcX.d
, где
X
 — это число от 0 до 6, соответствующее уровню выполнения. В каждой папке есть файлы, имена которых начинаются с буквы "K" или "S". При выходе с уровня выполняются все файлы первого типа, они уничтожают все запущенные на нем процессы. А при входе на уровень выполняются файлы на букву "S", которые активизируют все необходимые процессы данного уровня.

Таким образом, система может обезопасить себя тем, что на одном уровне будут работать только те программы, которые должны быть в однопользовательском режиме, и многопользовательское вторжение становится невозможным при правильном конфигурировании скриптов, запускающих и останавливающих процессы. Конечно же, вручную править скрипты не приходится, и система следит за файлами без нас, но знать о такой особенности загрузки вы должны. Например, вы хотите, чтобы какой-то демон не запускался при старте системы на третьем уровне. Для этого можно просто удалить соответствующий файл из каталога /etc/rc.d/rc3.d, или сделать так, чтобы его имя не начиналось с букв "S" или "K".

В каталоге /etc/rc.d/init.d находятся скрипты, которые запускают, останавливают или перезапускают сервисы в системе. Именно эти файлы используются при переходе с одного уровня на другой.

Очень интересной является строка:

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

Она выполняется на любом уровне, потому что второй аргумент отсутствует. Третий параметр равен

ctrlaltdel
. Это значит, что по нажатию клавиш <Ctrl>+<Alt>+<Del> будет выполнена указанная команда. В большинстве ОС такая комбинация используется для перезагрузки системы. Какая директива выполнится в Linux? Это
/sbin/shutdown -t3 -r now
. Мы уже знаем, что команда
shutdown
с ключом
– r
— это перезагрузка. Параметр
– tX
задает время задержки, где
X
— количество секунд до рестарта.

Поделиться:
Популярные книги

Газлайтер. Том 18

Володин Григорий Григорьевич
18. История Телепата
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Газлайтер. Том 18

Неудержимый. Книга XXIX

Боярский Андрей
29. Неудержимый
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Неудержимый. Книга XXIX

Железный Воин Империи

Зот Бакалавр
1. Железный Воин Империи
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Железный Воин Империи

Как я строил магическую империю 4

Зубов Константин
4. Как я строил магическую империю
Фантастика:
боевая фантастика
постапокалипсис
аниме
фантастика: прочее
фэнтези
5.00
рейтинг книги
Как я строил магическую империю 4

Валентин Катаев

Катаев Валентин Петрович
Юмор:
юмористическая проза
прочий юмор
5.00
рейтинг книги
Валентин Катаев

Бастард Бога (Дилогия)

Матвеев Владимир
Фантастика:
альтернативная история
5.11
рейтинг книги
Бастард Бога (Дилогия)

Ваше Сиятельство 9

Моури Эрли
9. Ваше Сиятельство
Фантастика:
боевая фантастика
попаданцы
стимпанк
аниме
фэнтези
5.00
рейтинг книги
Ваше Сиятельство 9

Офицер Красной Армии

Поселягин Владимир Геннадьевич
2. Командир Красной Армии
Фантастика:
попаданцы
8.51
рейтинг книги
Офицер Красной Армии

Я снова князь. Книга XXIII

Дрейк Сириус
23. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я снова князь. Книга XXIII

Лейб-хирург

Дроздов Анатолий Федорович
2. Зауряд-врач
Фантастика:
альтернативная история
7.34
рейтинг книги
Лейб-хирург

Афганский рубеж

Дорин Михаил
1. Рубеж
Фантастика:
попаданцы
альтернативная история
7.50
рейтинг книги
Афганский рубеж

Приказано выжить!

Малыгин Владимир
1. Другая Русь
Фантастика:
боевая фантастика
попаданцы
альтернативная история
7.09
рейтинг книги
Приказано выжить!

Лекарь Империи

Карелин Сергей Витальевич
1. Лекарь Империи
Фантастика:
городское фэнтези
аниме
дорама
фэнтези
попаданцы
5.00
рейтинг книги
Лекарь Империи

Шайтан Иван 3

Тен Эдуард
3. Шайтан Иван
Фантастика:
попаданцы
альтернативная история
7.17
рейтинг книги
Шайтан Иван 3