Книга: Сетевые средства Linux
Копирование системных файлов
Копирование системных файлов
После того как вы разместите в пределах поддерева chroot
файлы сервера, вам следует скопировать в каталоги поддерева некоторые системные файлы. Для работы серверов часто требуются следующие типы файлов.
• Библиотеки. Во время работы многие серверы используют динамические библиотеки. Обычно они хранятся в каталоге /lib
или /usr/lib
. Выяснить, какие библиотеки нужны конкретному серверу, позволяет программа ldd
. Например, чтобы определить, какие библиотеки использует сервер имен, надо выполнить команду ldd /usr/sbin/named
. Файлы библиотек надо поместить в каталог поддерева chroot
.
• Программы поддержки. Для работы некоторых серверов нужны дополнительные программы. Например, если Web-сервер поддерживает CGI-сценарии, ему могут понадобиться интерпретатор Perl (/usr/bin/perl
) и файлы, обеспечивающие работу этого интерпретатора. Исполняемый файл Perl и дополнительные файлы надо скопировать в соответствующий каталог поддерева chroot
. Кроме того, программы, необходимые для работы сервера, могут, в свою очередь, использовать файлы библиотек. В некоторых случаях объем данных, применяемых для поддержки языков сценариев, намного превышает объем Web-сервера.
• Файлы устройств. Ряд серверов непосредственно обращается к файлам устройств. Например, сервер резервного копирования взаимодействует с накопителем на магнитных лентах, а некоторым библиотекам и программам нужны специальные файлы устройств, такие как /dev/zero
или /dev/null
. Обычно файлы устройств располагаются в каталоге /dev
. Копировать файлы из этого каталога бессмысленно, вместо этого надо повторно создать их в поддереве с помощью mknod
. Соответствующая команда может выглядеть следующим образом: mknod /opt/chroot/dev/st0 с 9 0
. Файлы устройств предоставляют доступ к ресурсам компьютера, поэтому создавать их в поддереве chroot
следует только в том случае, когда они действительно необходимы.
• Специальные файловые системы. Иногда серверы используют специальные файловые системы или инструменты, предназначенные для работы с такими файловыми системами. Например, некоторые серверы обращаются к /proc
. Подобные каталоги нельзя непосредственно копировать. Вместо этого надо создать дополнительную запись в файле /etc/fstab
и смонтировать файловую систему в пределах поддерева chroot
. Исходную систему /proc
нельзя удалять, ее надо дублировать. Необходимо помнить, что при наличии доступа сервера к /proc
взломщику автоматически предоставляются дополнительные возможности для контроля над системой.
• Базы данных с информацией о пользователях. Во время работы ряд серверов обращается к /etc/passwd
, /etc/group
, /etc/shadow
и другим файлам, содержащим информацию о пользователях. Серверам, которые используют Pluggable Authentication Module, необходима инфраструктура РАМ, в частности, файл /etc/pam.conf
, содержимое /etc/pam.d
и /etc/security
, а также библиотеки в файлах /lib
и /lib/security
(в именах файлов библиотек содержатся символы pam
). Для того чтобы выяснить, какие файлы необходимо скопировать в каталоги поддерева chroot
, надо проанализировать содержимое пакета РАМ.
• Файлы протоколов. Если сервер создает во время работы файлы протоколов, вам необходимо подготовить каталоги для их размещения. Некоторые серверы используют при создании файлов протоколов демон syslogd
, в этом случае вам надо скопировать данную программу в поддерево chroot
. Многие серверы можно сконфигурировать так, чтобы протоколирование выполнялось без использования syslogd
.
Для серверов, самостоятельно вызывающих функцию chroot()
, обычно приходится копировать в каталоги поддерева гораздо меньше файлов, чем для серверов, запускаемых с помощью программы chroot
. Если сервер вызывает chroot()
, то перед вызовом данной функции он обычно загружает библиотеки, системные файлы и остальные необходимы ему данные.
На заметку
Чтобы не создавать угрозу безопасности системы, помещайте в каталоги поддерева chroot
лишь минимальный набор файлов. Копировать файл следует только в том случае, если вы твердо знаете, что этот файл используется в работе сервера. Что же касается остальных файлов, выяснить, необходимы ли они, можно, запустив сервер на выполнение (если в сервере предусмотрен режим отладки, желательно включить его). Если серверу недостает какого-либо файла, он сообщит об этом.
- 6.4.5 Копирование данных между адресным пространством системы и адресным пространством задачи
- Резервное копирование базы данных InterBase
- Резервное копирование многофайловых баз данных
- Резервное копирование при работе InterBase в режиме 24x7
- Восстановление из резервных копий многофайловых баз данных
- Создание файлов с блокировкой
- Модификация системных таблиц
- Рекомендуемое расширение для файлов баз данных - *.ib
- Создание многофайловой базы данных
- Правила именования файлов
- Глава 6 Файловые системы
- 3.4 Сетевая файловая система