Linux глазами хакера
Шрифт:
Теперь выполняем команды подготовки к компиляции:
Следующая команда отнимет достаточно много времени, потому что она будет компилировать непосредственно ядро. Можно отправляться готовить кофе и пить его медленно и печально. Если у вас слабый процессор и памяти менее 256 Мбайт, то процедура будет долгой.
Итак, для компиляции ядра выполним команду:
Во время компиляции вы увидите список собираемых в ядро модулей. Их очень много, поэтому процесс продолжительный.
Если вы выбрали компиляцию
Если вы запретили использование модулей, то эти команды можно пропустить, потому что от них толку мало, а выполняются они долго.
Все модули располагаются в директории /lib/modules/. С помощью первой команды мы скомпилировали модули нового ядра, а вторая скопирует их в каталог /lib/modules/. Здесь вы найдете директории модулей для каждой из версий ядер, установленных в системе.
Теперь инсталлируем скомпилированное ядро. Для этого выполняем следующую команду:
Эта команда скопирует все необходимые файлы для загрузки на свои места. Загляните в директорию /boot. Здесь можно найти несколько файлов, в том числе и загрузчик для новой версии ядра. Их легко можно определить по номеру. Например, я компилировал ядро 2.6.10, и у меня появились файлы vmlinuz-2.6.10 и initrd-2.6.10.img.
3.8.4. Настройка загрузчика
Теперь посмотрим, как можно настроить загрузку нового ядра, оставив при этом возможность пользоваться старыми версиями. Для этого нужно отредактировать файл /etc/lilo.conf, добавив в конец файла следующие строки:
В первой строке находится путь к ядру. Вы должны указать правильный путь, а точнее, имя файла, которое будет отличаться номером версии. Параметром
После изменения конфигурационного файла /etc/lilo.conf необходимо прописать изменения в загрузочную область. Для этого выполните команду
Перезагрузите систему, и теперь при старте компьютера вы сможете выбирать, какое ядро загружать. При этом будут использоваться одни и те же конфигурационные файлы, что очень удобно. Если новое ядро окажется неработоспособным, достаточно перезагрузить компьютер со старым ядром и продолжить работу до выхода обновлений.
3.8.5. Работа с модулями
Преимущество модульной сборки ядра заключается в том, что вы можете изначально включить только самые необходимые функции и тем самым уменьшить потенциальные уязвимости, которыми может воспользоваться хакер. Но при этом мы должны иметь возможность
управлять модулями (так же, как и сервисами).Система должна загружаться только с теми модулями, которые применяются. Все остальные должны подгружаться по мере необходимости и отключаться, когда не используются.
С помощью команды
Очень трудно разобраться, какие модули нужны в системе, а какие нет, А ведь необходимо загружать только то, что действительно используется, иначе увеличивается время старта системы, понапрасну расходуются ресурсы компьютера и т.д. Так как же в этом разобраться? Необходимо знать каждый модуль в лицо и понимать, для чего он нужен.
Получить информацию о модуле помогает команда
В ответ на это мы увидим примерно следующее:
Таким образом, нам становятся известными имя и расположения файла, описание, автор, лицензия и т.д. Количество информации сильно зависит от модуля, и если честно, в некоторых случаях она настолько скудная, что предназначение модуля остается непонятным.
Эта команда, в основном, используется системой для загрузки установленных модулей, но можно это делать и самостоятельно. В качестве единственного параметра нужно передать команде имя модуля, который нужно загрузить.
Например, следующая команда загружает модуль
Эта команда выгружает модуль, имя которого указано в качестве параметра. Если вы воспользовались модулем для выполнения определенных действий, то не забудьте по окончании работы его выгрузить. Иначе как раз он и может стать причиной взлома.
Глава 4
Управление доступом