Родерик Смит - Сетевые средства Linux
- Название:Сетевые средства Linux
- Автор:
- Жанр:
- Издательство:Издательский дом Вильямс
- Год:2003
- Город:Москва
- ISBN:5-8459-0426-9
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Родерик Смит - Сетевые средства Linux краткое содержание
В этой книге описаны принципы действия и область применения многих серверов, выполняющихся в системе Linux. Здесь рассматриваются DHCP-сервер, серверы Samba и NFS, серверы печати, NTP-сервер, средства удаленной регистрации и система X Window. He забыты и средства, традиционно используемые для обеспечения работы Internet-служб: серверы DNS, SMTP, HTTP и FTP. Большое внимание уделено вопросам безопасности сети. В данной книге нашли отражения также средства удаленного администрирования — инструменты Linuxconf, Webmin и SWAT.
Данная книга несомненно окажется полезной как начинающим, так и опытным системным администраторам.
Отзывы о книге Сетевые средства LinuxПоявилась прекрасная книга по Linux, осталось воспользоваться ею. Не упустите свой шанс.
Александр Стенцин, Help Net Security, www.net-security.orgЕсли вы стремитесь в полной мере использовать сетевые возможности Linux — эта книга для вас. Я настоятельно рекомендую прочитать ее.
Майкл Дж. Джордан, Linux OnlineВыхода подобной книги давно ожидали читатели. Менее чем на 700 страницах автор смог изложить суть самых различных вопросов, связанных с работой Linux. Автор является высококвалифицированным специалистом в своей области и щедро делится своими знаниями с читателями.
Роджер Бертон, West, DiverseBooks.comСетевые средства Linux - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Запуск сервера BIND в рамках поддерева chroot
Ранее описывался процесс подготовки сервера к запуску в рамках поддерева chroot
. Чтобы лучше понять изложенный выше материал, желательно рассмотреть запуск конкретного сервера в подобном режиме. В качестве примера выберем сервер имен BIND, работа которого обсуждалась в главе 18. При подготовке сервера к работе в пределах поддерева chroot
будет в основном использоваться конфигурация, устанавливаемая по умолчанию. Процедура инсталляции данного сервера в различных версиях Linux имеет свои характерные особенности; для данного примера выберем версию Debian 2.2.
В данном разделе рассматривается запуск сервера BIND с использованием программы chroot
. В качестве примера сервера, вызывающего функцию chroot()
самостоятельно, можно привести сервер FTP.
Прежде всего вам необходимо инсталлировать стандартный пакет BIND. Поскольку сервер инсталлируется в системе Debian, для его установки можно использовать программу apt-get
.
# apt-get install bind
В процессе выполнения сценарий инсталляции спрашивает, следует ли добавить адрес локального сервера имен в файл /etc/resolv.conf
. На этот вопрос я даю положительный ответ, но для демонстрации работы сервера в рамках поддерева chroot
это не имеет значения. По окончании установки система Debian запускает сервер имен. Проверить, работает ли сервер, вы можете с помощью следующих двух команд:
# ps aux | grep named
root 7656 0.0 1.5 2184 1492 ? S 13:29 0:00 \
/usr/sbin/named
# host awl.com localhost
awl.com A 165.193.123.224
Вторая команда позволяет убедиться в том, что сервер BIND установлен и работает: она выводит IP-адрес узла awl.com
, причем для преобразования имени используется сервер на компьютере localhost
. Имя awl.com
вы можете заменить любым другим именем узла, расположенного в Internet, а вместо localhost
можно указать IP-адрес или имя вашего компьютера. Если система сообщит о том, что команда не найдена (command not found), вам надо установить пакет dnsutils
, содержащий программу host
. (В других версиях Linux пакет подобного назначения может называться иначе, например bind-utils
).
Убедившись, что сервер работает, завершите его выполнение с помощью команды
# /etc/init.d/bind stop
Затем вам надо создать поддерево chroot
и скопировать в него файлы BIND.
# mkdir -p /opt/chroot/usr/sbin /opt/chroot/var/cache/bind
# mkdir /opt/chroot/lib /opt/chroot/etc
# cp /usr/sbin/named /opt/chroot/usr/sbin
# cp -rp /etc/bind/ /opt/chroot/etc
Данная процедура подготавливает BIND для выполнения с помощью команды chroot
. Такой подход используется лишь для демонстрации действия данной команды. В случае необходимости сервер BIND может самостоятельно вызывать функцию chroot()
, поэтому выполнение сервера имен в рамках поддерева chroot
можно организовать несколько проще. Однако при этом все равно придется создать поддерево и поместить в него конфигурационные файлы. Отпадает необходимость лишь в копировании исполняемых файлов сервера.
В результате выполнения приведенных выше команд создается основа поддерева и в соответствующий каталог помещаются исполняемые коды сервера имен и конфигурационные файлы. При подготовке сервера к выполнению важно получить информацию о библиотеках, необходимых для его выполнения. Получив сведения о библиотеках с помощью команды следует скопировать соответствующие файлы в каталог поддерева chroot
.
# ldd /usr/sbin/named
libc.so.6 => /lib/libc.so.6 (0x40017000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
# cp/lib/libc.so.6 /lib/ld-linux.so.2 /opt/chroot/lib
На этом этапе можно снова проверить функционирование сервера.
# chroot /opt/chroot /usr/sbin/named
# host awl.com localhost
awl.com A 165.193.123.224
Если сервер не работает, убедитесь в том, что в системе выполняется только один экземпляр named
, и проверьте, все ли файлы вы скопировали в каталог поддерева chroot
. Обеспечив нормальную работу сервера, измените сценарий запуска BIND (в системе Debian это /etc/init.d/bind
) так, чтобы сервер запускался посредством команды chroot
. Безусловно, вы можете запретить выполнение сценария SysV и запустить сервер имен другим способом. Многие сценарии SysV используют вспомогательные программы (в Debian это start-stop-daemon
и ndc
). Данные программы могут создавать файлы в каталоге /var/run
, поэтому вам надо создать в поддереве chroot
нужные каталоги и скопировать файлы программ.
# mkdir -p /opt/chroot/sbin /opt/chroot/var/run
# cp /usr/sbin/ndc /opt/chroot/usr/sbin
# cp /sbin/start-stop-daemon /opt/chroot/sbin
При редактировании сценария запуска SysV перед каждым вхождением start-stop-daemon
и ndc
надо добавить последовательность символов chroot /opt/chroot
. Однако на этом работа не заканчивается, поскольку start-stop-daemon
обращается к файловой системе /proc
, которая не доступна из поддерева chroot
. Чтобы обеспечить доступ к ней, необходимо внести изменения в файл /etc/fstab
— скопировать строку, содержащую /proc
, и изменить ее на /opt/chroot/proc
. Затем вы должны вызвать команду mount -а
, чтобы смонтировать /proc
в поддереве chroot
.
Поскольку файловая система /proc
предоставляет контроль над компьютером, дублировать ее нежелательно. Лучше отредактировать сценарий запуска SysV так, чтобы он не использовал start-stop-daemon
, либо отказаться от сценария SysV и организовать запуск сервера другим способом.
Выполнив все описанные выше действия, вы можете запустить сервер с помощью сценария SysV и проверить его работу.
# /etc/init.d/bind start
# host awl.com localhost
awl.com A 165.193.123.224
Если вы хотите удостовериться в том, что сервер выполняется в среде поддерева chroot
, вам надо удалить исполняемый файл сервера из каталога /usr/sbin
и конфигурационные файлы из каталога /etc/bind
, а потом перезапустить сервер. Если сервер работает, то выполняться он может только в рамках поддерева chroot
.
Вместо того чтобы запускать сервер BIND посредством утилиты chroot
, вы можете использовать опцию -t
программы named, которая разрешает вызов функции chroot()
сервером имен. Соответствующая команда имеет следующий вид:
# /usr/sbin/named -t /opt/chroot
Данный подход намного проще описанного выше, так как при этом вам придется копировать в каталоги поддерева chroot
гораздо меньше файлов, в частности, вы можете оставить программу named
и библиотеки в тех каталогах, в которых они были записаны при инсталляции. Скопировать конфигурационные файлы необходимо, поскольку сервер имен читает их уже после вызова chroot()
. При использовании опции -t
упрощается подготовка сервера для запуска посредством сценария SysV, так как при нет необходимости дублировать файловую систему /proc
.
Интервал:
Закладка: