После проверки достижимости сервера 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 домена. Его расположение задается в yp.conf, как показано в предыдущем разделе. Для записи hosts запрашиваются карты hosts.byname и hosts.byaddr.
Использовать для этого домена сервер NIS+. Где его искать берется из файла /etc/nis.conf.
Использовать сервер имен DNS. Этот сервисный тип полезен только с записью hosts. Сервер, который будет запрошен, задается в resolv.conf.
Использовать локальный файл (например, /etc/hosts для запроса hosts).
Нужна совместимость со старыми форматами файлов. Эта опция может использоваться, когда NYS или glibc 2.x используются для поиска в NIS или NIS+. В то время, как эти версии обычно не могут интерпретировать старые записи NIS в файлах passwd и group, опция compat позволяет им работать с этими форматами.
Информация берется из файлов 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 |