Книга: Linux глазами хакера

Листинг 3.1. Конфигурационный файл lilo.conf

Листинг 3.1. Конфигурационный файл lilo.conf

disk=/dev/hda
bios=128
boot=/dev/hda
prompt
timeout=300
lba32
default=linux-2.4.18
image=/boot/vmlinuz-2.4.18-5asp
initrd=/boot/initrd.2.4.18-5asp.img
label=linux-2.4.18
root=/dev/hda2
read-only

Каждая строка устанавливает какой-либо параметр загрузки. Таких опций много, и подробно с ними вы можете познакомиться в документации, поставляемой с ОС, а мы рассмотрим только основные. Большинству параметров присваивают значения. Это выглядит так:

Параметр=3начение

Слева от знака равенства находится имя параметра, а справа — значение, которое надо установить.

Рассмотрим возможные параметры файла lilo.conf:

boot=/dev/hda — задает устройство, с которого происходит загрузка;

map=/boot/имя файла — карта загрузки. Если этот параметр опущен, то по умолчанию будет использоваться файл /boot/map;

timeout=300 — время ожидания в миллисекундах. Если за этот промежуток времени ничего не выбрано, то будет загружена ОС по умолчанию;

lba32 — позволяет использовать возможности lba32 (32-разрядная адресация блоков диска). Присутствие этого параметра может вызвать проблемы со старыми жесткими дисками без поддержки LBA (Logical Block Addressing, логическая адресация блоков);

default=linux-2.4.18 — определяет, что будет загружаться по умолчанию. В данном случае выбран образ linux-2.4.18;

image=/boot/vmlinuz-2.4.18-5asp — указывает на ядро Linux. Чаще всего эта строка выглядит как /boot/vmlinuz;

label=linux-2.4.18 — метка или текст, который будет появляться в окне загрузчика;

root=/dev/hda2 — диск, на котором расположена корневая файловая система;

read-only.

На данный момент этой информации нам хватит. Большинство из нерассмотренных опций уже устарели и могут понадобиться только при использовании очень старых компьютеров (такие мало у кого сохранились). По своему опыту могу сказать, что перечисленных параметров будет достаточно. При компиляции ядра мы отредактируем lilo.conf и дадим возможность загрузки по выбору.

Для корректировки файла достаточно открыть его в любом текстовом редакторе. Тут серьезных изменений не бывает, поэтому я использую редактор, встроенный в программу МС. Для этого запустите Midnight Commander. Скорей всего, текущим каталогом будет ваша папка, например /home/root. Нужно перейти в корневой каталог. Выберите самую первую папку /.. и нажмите клавишу <Enter>. Теперь вы окажетесь в папке /home. Повторите эту операцию и переместитесь в корневой каталог.

Теперь находим папку /etc и нажимаем клавишу <Enter>, чтобы войти в нее. Здесь ищем lilo.conf, выделяем его и нажимаем клавишу <F4>. Перед вами откроется простой текстовый редактор. Поменяйте нужные параметры. Нажмите клавишу <Esc> для выхода. Если данные были изменены, то программа выдаст запрос на сохранение. Соглашайтесь, если нужно принять исправления.

Если вы никогда не редактировали файлы, то попробуйте сделать это сейчас. Для примера можно изменить время ожидания выбора пользователем способа загрузки Linux: с жесткого диска или дискеты. Конечно же, с винчестера я загружаюсь намного чаще, включаю компьютер и ухожу готовить кофе. В дальнейшем мы не будем останавливаться на этом процессе так подробно.

В конфигурационных файлах Linux есть понятие комментария. Это текст, который программа просто игнорирует, и вы можете писать в нем любые пояснения или временно отключать какие-то параметры. Комментарий начинается с символа "#". Всем, что находится после этого символа, программа пренебрегает. Например:

# Это комментарий
boot=/dev/hda
timeout=300 # Это комментарий, показывает время загрузки
# lba32
default=linux-2.4.18 # Это комментарий, ОС по умолчанию

В этом примере первая строка начинается с символа "#", и она вся будет проигнорирована. В третьей строке комментарий стоит после указания параметра. Это значит, что сам параметр будет прочитан, а текст пояснения после него будет пропущен.

В четвертой строке перед lba32 стоит знак "#", значит этот параметр будет проигнорирован и воспринят как комментарий.

Пояснения очень удобны для того, чтобы временно отключать какие-либо опции. Вы можете просто удалить параметр и забыть, как он был написан, но если вы превратили его в комментарий, то для возврата достаточно убрать знак "#", и параметр заработает.

С помощью утилиты LILO можно защитить ваш компьютер от несанкционированной загрузки ОС. Это необходимо, потому что при старте системы можно выполнить команду уже на этапе загрузки. Если злоумышленник получил доступ к вашему компьютеру, то легко может войти в однопользовательском режиме с последующим взломом пароля root или реализовать команду.

Если при загрузке LILO отображается в виде простого текстового приглашения (характерно для дистрибутивов Red Hat), то необходимо ввести имя загружаемой системы (linux), потом ключевое слово init= и команду:

Linux Boot: linux init=команда

Чтобы хакер не смог запустить систему, необходимо защитить LILO с помощью пароля. Для этого в конфигурационном файле после ключевого слова image добавьте строку:

password=пароль

Вот пример задания пароля qwerty на загрузку:

image=/boot/vmlinuz-2.4.18-5asp
password=qwerty
initrd=/boot/initrd.2.4.18-5asp.img
label=linux-2.4.18
root=/dev/hda2
read-only

Если на вашем компьютере установлены разные варианты системы, то необходимо для каждого из них указывать пароль. В следующем примере LILO позволяет загружать два ядра, и для обоих вводится свой пароль:

image=/boot/vmlinuz-2.4.18-5asp
password=qwerty
initrd=/boot/initrd.2.4.18-5asp.img
label=linux-2.4.18
root=/dev/hda2
read-only
image=/boot/vmlinuz-2.6.2
password=123456
initrd=/boot/initrd.2.6.2.img
label=linux-2.6.2
root=/dev/hda2
read-only

О конфигурировании LILO с двумя ядрами мы поговорим в разд. 3.8.4.

Если добавить параметр password до описания image, то указанный пароль будет действовать для всех ОС и ядер, загружаемых с помощью LILO.

Но пароль запрещает только основную загрузку, а возможность выполнения команд при старте системы сохраняется. Чтобы сделать и это невозможным, добавьте в конфигурационный файл lilo.conf после объявления пароля строку С ключевым словом restricted:

image=/boot/vmlinuz-2.4.18-5asp
password=qwerty
restricted
initrd=/boot/initrd.2.4.18-5asp.img
label=linux-2.4.18
root=/dev/hda2
read-only

Чтобы внесенные в файл изменения вступили в силу, необходимо запустить в командной строке директиву lilo. Таким образом, новые параметры будут записаны в загрузочную область и начнут действовать при следующем старте системы.

Оглавление книги


Генерация: 2.051. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз