NIS+

NIS+ (англ. NIS+) — это служба каталогов, разработанная компанией Sun Microsystems в качестве замены более раннего протокола NIS (англ. Network Information Service). NIS+ предназначена для устранения необходимости дублирования конфигурационных данных (таких как учётные записи пользователей, имена и адреса узлов, информация о принтерах, монтирования дисков NFS) на каждом отдельном компьютере сети. Вместо этого используется центральное хранилище на главном сервере, что упрощает администрирование системы. Клиентское программное обеспечение NIS+ было портировано на другие платформы семейства Unix и Unix-подобных операционных систем.

Перед выпуском Solaris 9 в 2002 году компания Sun объявила о планах удалить NIS+ из будущих версий Solaris и в настоящее время рекомендует использовать схемы поиска, основанные на протоколе LDAP.

NIS+ присутствовал в Solaris 9 и 10 (обе версии содержат инструменты для миграции данных NIS+ на сервер LDAP)[1], однако был удалён из Solaris 11[2].

Сравнение NIS и NIS+

NIS и NIS+ похожи только по назначению и названию; по реализации они полностью различаются. Отличия заключаются в следующем:

  • NIS+ использует иерархическую структуру.
  • NIS+ основан на защищённом удалённом вызове процедур (Secure RPC) — серверы и клиенты аутентифицируют друг друга.
  • NIS+ поддерживает репликацию (реплики работают только на чтение).
  • В NIS+ реализованы права доступа на каталоги, таблицы, столбцы и строки.
  • В NIS+ реализованы права на выполнение операций, например, возможность использования nisping для передачи изменённых данных с главного сервера на реплику.

Проблема управления сетевой информацией

В 1970-х годах, когда компьютеры были дорогими, а сеть состояла из небольшого числа узлов, управлять сетевой информацией было несложно, и централизованная система не требовалась. С удешевлением компьютеров и ростом числа сетевых устройств стало всё сложнее поддерживать отдельные копии сетевых конфигураций на каждом узле.

Например, при добавлении нового пользователя в сеть приходилось обновлять следующие файлы на всех существующих машинах:

Файл Пример записи Информация
/etc/passwd numiri:x:37:4:Sebastian Nguyen:/home/numiri Имя пользователя, домашний каталог и др.
/etc/shadow numiri:1AD3ioUMlkj234k: Зашифрованный пароль

Аналогично, файл /etc/group требовал обновления при добавлении каждой новой группы, а /etc/hosts — при появлении нового компьютера в сети.

Если к сети из 20 компьютеров добавлялся новый пользователь с новой системой, администратору UNIX приходилось изменять 5 файлов на 21 системе, то есть всего 105 файлов. При использовании NIS+ для добавления пользователей и машин требуются только изменения на сервере NIS+, а файл /etc/nsswitch.conf на новом хосте должен указывать на сервер NIS+. Когда пользователь входит в систему с другого компьютера в сети, этот хост-клиент NIS+ обращается к серверу NIS+ за информацией о пользователе (именем и паролем) для его идентификации и аутентификации.

Кроме того, NIS+ управляет и другими типами данных: монтированиями NFS (auto_master, auto_home), параметрами сетевой загрузки и другими (bootparams, ethers, netmasks, netgroup, networks, protocols, rpc, services), вопросами безопасности (cred), алиасами и часовым поясом.

В поставку NIS+ входят заранее определённые структуры таблиц. Также существуют средства для создания новых таблиц по необходимости.

Альтернативы

Существуют и другие схемы хранения сетевой информации, например, стандарт LDAP, поддерживаемый рабочей группой IETF, включая реализацию LDAP от Microsoft — Active Directory. LDAP может использоваться для хранения более общего рода информации (например, структуру сотрудников компании, номера телефонов, адреса и т. д.), поэтому требует более тщательного проектирования. Во многих организациях используются одновременно NIS+, LDAP и Active Directory, если необходим весь спектр функциональности этих решений.

Другой альтернативой, популярной в ряде сред, является именная служба Hesiod, основанная на протоколах DNS.

Клиент-серверная модель NIS+

В отличие от NIS, NIS+ использует иерархическую структуру из нескольких доменов. Домены NIS+ могут и должны обслуживаться несколькими серверами. Основной сервер называется главным сервером (мастер), резервные называются серверами-репликами. Обе категории серверов содержат копии таблиц NIS+. Изменения вносятся сначала на главном сервере и затем поэтапно распространяются на реплики.

Права доступа к таблицам NIS+ определяют уровень доступа пользователя к их содержимому.

Примечания

Литература