Посмотрим, какие объекты образуют инфраструктуру NIS (рис. 13.4):
Серверы NIS
NIS использует механизм клиент/сервер, в котором клиенты запрашивают информацию у серверов NIS. Информация может быть разной - от соответствий «имя пользователя-пароль» до аппаратных адресов карт сетевых интерфейсов. Основной сервер NIS в домене называется главным сервером (master server). Главный сервер существует в каждом домене NIS. Домен представляет собой, по существу, сеть, обслуживаемую серверами NIS.
Есть и другие серверы, с которыми могут связываться клиенты вместо того, чтобы обращаться непосредственно к главному серверу. Они называются подчиненными серверами (slave servers). Справочные базы данных NIS обновляются на главном сервере, который распространяет модификации на все подчиненные, зависящие от него серверы.
Клиенты NIS могут обращаться с запросами как к главному, так и к подчиненным серверам, однако вносить изменения можно только в справочные базы данных главного сервера. Есть еще одна группа серверов, строго говоря, не являющихся таковыми, поскольку они запускаются на машине конкретного клиента, устанавливают связь с подчиненными серверами или главным сервером, привязывая клиентов этой машины к конкретному подчиненному или главному серверу.
Клиенты NIS
Клиентами NIS являются приложения, обращающиеся к серверам NIS за информацией, касающейся различных ресурсов. Чистый клиент NIS едва ли может представлять интерес, разве что для целей диагностики, но клиенты NIS часто встраиваются в приложения, нуждающиеся в доступе к определенным ресурсам. Так, программа регистрации в UNIX получает от пользователя имя регистрации и обращается к серверу NIS за информацией о пароле, выступая в качестве клиента NIS.
Карты NIS
NIS поддерживает базы данных с информацией о различных сетевых ресурсах. Такие базы данных называют картами NIS (NIS maps). Карты NIS строятся по стандартным файлам настройки операционной системы, таким как /etc/passwd, в котором системы UNIX хранят информацию о паролях.
Карты NIS не обязательно относятся к одному домену, и допускается наличие нескольких доменов с одинаковым типом карт NIS и собственными серверами. Одна и та же информация может быть представлена в двух картах, отличаясь только ключом, по которому происходит доступ к информации. Например, информация о хостах содержится в двух картах - hosts, byname, которую можно индексировать по имени хоста, и hosts, byaddr, которую можно индексировать по IP-адресу. Кроме того, у каждой из этих карт может иметься псевдоним, служащий ее кратким именем; например у hosts, byaddr псевдоним hosts.