Библиотека сайта rus-linux.net
Выбор нужных карт
После проверки достижимости сервера NIS Вы должны решить, какие файлы
конфигурации заменять или расширять с помощью карт NIS. Обычно Вы будете
использовать карты NIS для поиска хоста и пароля. Это особенно полезно, если
Вы не имеете сервиса имен BIND. Поисковая таблица пароля позволяет всем
пользователям на машине в домене NIS работать на любой машине в нем. Это
обычно применяется наряду с совместным использованием центрального каталога
/home
через NFS. Карта паролей будет рассмотрена в
следующем разделе.
Другие карты, подобно services.byname
, не дают
таких изменений, но избавляют от редактирования ряда настроек. Карта
services.byname
ценна, если Вы устанавливаете любые
сетевые прикладные программы, которые используют сервисное имя не в
стандартном файле services
.
Вообще, надо иметь выбор, когда функция поиска использует локальные файлы,
когда она делает запрос к серверу NIS станции, и в каких случаях используются
другие серверы, типа DNS. GNU libc позволяет Вам конфигурировать порядок, в
котором функция обращается к этим услугам. Это управляется через файл
/etc/nsswitch.conf
(сокращение от
Name Service Switch), но он, конечно, не ограничен
обслуживанием имен. Для любой из функций поисковой таблицы данных,
поддерживаемых GNU libc, файл содержит соответствующую строку.
Порядок опроса зависит от типа данных, которые предлагает каждый сервис.
Маловероятно, что карта services.byname
будет
содержать записи, отличающиеся от своих аналогов в локальном файле
services
. Она будет содержать только дополнительные
записи. Так что проще сначала сделать запрос локальных файлов и проверять NIS
только, если сервисное имя не найдено. С другой стороны, информация об именах
машин может изменяться очень часто, так что сервер DNS или NIS должен всегда
иметь наиболее точные данные в то время, как локальный файл
hosts
сохраняется только как копия на случай, если
DNS и NIS не сработали. Следовательно, для hostname обычно надо проверять
локальный файл данных в последнюю очередь.
Следующий пример показывает, как вынудить функции
gethostbyname
и
gethostbyaddr
искать в NIS и DNS до просмотра файла
hosts
и как заставить функцию
getservbyname
просматривать локальные файлы перед
запросом к NIS. Эти функции опробуют каждый из перечисленных сервисов. Если
поиск прошел успешно, возвращается результат, иначе выбирается следующий
сервис. Установка файла для этих приоритетов:
# small sample /etc/nsswitch.conf # hosts: nis dns files services: files nis |
Ниже приведен полный список сервисов и обращений, которые могут
использоваться в файле nsswitch.conf
.
- nis
Использовать текущий сервер NIS домена. Его расположение задается в
yp.conf
, как показано в предыдущем разделе. Для записи hosts запрашиваются картыhosts.byname
иhosts.byaddr
.- nisplus или nis+
Использовать для этого домена сервер NIS+. Где его искать берется из файла
/etc/nis.conf
.- dns
Использовать сервер имен DNS. Этот сервисный тип полезен только с записью hosts. Сервер, который будет запрошен, задается в
resolv.conf
.- files
Использовать локальный файл (например,
/etc/hosts
для запроса hosts).- compat
Нужна совместимость со старыми форматами файлов. Эта опция может использоваться, когда NYS или glibc 2.x используются для поиска в NIS или NIS+. В то время, как эти версии обычно не могут интерпретировать старые записи NIS в файлах
passwd
иgroup
, опция compat позволяет им работать с этими форматами.- db
Информация берется из файлов DBM, размещенных в каталоге
/var/db
. Соответствующее имя карты NIS используется для этого файла.
В настоящее время реализация NIS в GNU libc поддерживает следующие базы
данных для nsswitch.conf
:
aliases,
ethers.group,
hosts,
netgroup,
network,
passwd,
protocols,
publickey,
rpc,
services и
shadow.
Пример 13-2 показывает
более полный пример, который представляет новое свойство
nsswitch.conf
. Ключевое слово
[NOTFOUND=return] в записи
hosts предписывает клиенту NIS вернуться,
если нужный элемент не может быть найден в базе данных NIS или DNS.
Пример 13-2. Образец файла nsswitch.conf
# /etc/nsswitch.conf # hosts: nis dns [NOTFOUND=return] files networks: nis [NOTFOUND=return] files services: files nis protocols: files nis rpc: files nis |
GNU libc обеспечивает некоторые другие действия, которые описаны на
man-странице nsswitch
.
Назад | Глобальное оглавление | Вперед |
Установка клиента NIS с GNU libc | Локальное оглавление | Использование карт passwd и group |