@ Карта сайта News Автора!

Bog BOS: NSS (Name Service Switch)

Последние изменения:
2024.11.22: sysadmin: systemd-journald (централизованное хранение)
2024.11.11: sysadmin: Linux: пространства имён
2024.11.06: sysadmin: настройка TCP/IP в Linux: виртуальный интерфейс и виртуальный мост
2024.10.25: sysadmin: Linux VFS, атрибуты, расширенные атрибуты, ACL

Последнее изменение файла: 2011.07.13
Скопировано с www.bog.pp.ru: 2024.11.23

Bog BOS: NSS (Name Service Switch)

NSS (Name Service Switch) позволяет системному администратору выбирать различные сервисы имен (поиск в текстовом файле, DNS, NIS, NIS+) для поиска в БД доменных имен, имен пользователей, имен групп пользователей и т.д..

Прикладная программа, которой необходимо, например, получить адрес хоста по его имени, вызывает подпрограмму gethostbyname(3) или аналогичную. При сборке программы к ней прилинковываются подпрограммы из библиотеки libc (glibc), которые проверяют наличие требуемой информации в кеше nscd (если, конечно, запущен сервер nscd). Если информацию из кеша извлечь не удалось, то используется NSS для определения сервиса имен, который (которые) будет использован для поиска адреса по имени. В общем случае, таким сервисом служит DNS клиент (resolver).

Настройка

Метод NSS был первоначально использован фирмой Sun Microsystems в Solaris 2 для облегчения перехода от локальных списков пользователей к NIS. Аналогичный механизм был реализован в GNU libc (glibc) для гибкого выбора системным администратором одного из возможных сервисов имен для каждого из следующих пространств имен:

Реализованные сервисы имен (возможно добавление своих сервисов):

Конфигурация NSS задается в файле /etc/nsswitch.conf. Для каждого пространства имен в отдельной строке указывается последовательность сервисов имен через пробел (приоритет слева направо). Имя пространства имен указывается в начале строки через двоеточие. Имена сервисов используются для вызова модулей вида /usr/lib/libnss_имя-сервиса.so (/lib/libnss_имя-сервиса.so.2, /lib/nss_имя-сервиса.so). Между имен сервисов можно записывать условные действия, например:

passwd: nisplus [NOTFOUND=return] files

приведет к поиску имени пользователя в NIS+, возврату отрицательного ответа при отсутствии имени пользователя в БД NIS+, поиску в файле /etc/passwd при отсутствии ответа от NIS+. Кроме статуса NOTFOUND (действие по умолчанию - continue) можно также использовать SUCCESS (return), UNAVAIL (continue), TRYAGAIN (continue). Перед статусом может стоять знак отрицания (!).

На тяжело нагруженном сервере рекомендуется тщательно оптимизировать настройку NSS.

Ссылки

@ Карта сайта News Автора!

Bog BOS: NSS (Name Service Switch)

Последние изменения:
2024.11.22: sysadmin: systemd-journald (централизованное хранение)
2024.11.11: sysadmin: Linux: пространства имён
2024.11.06: sysadmin: настройка TCP/IP в Linux: виртуальный интерфейс и виртуальный мост
2024.10.25: sysadmin: Linux VFS, атрибуты, расширенные атрибуты, ACL



Copyright © 1996-2024 Sergey E. Bogomolov; www.bog.pp.ru