Name Service Switch
Name Service Switch (NSS) — механізм у UNIX-подібних операційних системах, що дозволяє мати більше ніж один метод резолвінгу імен. Джерелами інформації для NSS можуть бути локальні файли (такі, як hosts, /etc/passwd
, /etc/group
), доменна система імен (DNS), NIS і LDAP.
nsswitch.conf
Основний метод конфігурування сервісів імен — файл /etc/nsswitch.conf
. У цьому файлі вказуються, з яких джерел системою береться інформація про паролі, геші паролів, групи користувачів, як здійснюється резолвінг доменних імен, і деяка інша інформація. Наприклад, якщо використаний параметр files, інформація розміщується у локальних файлах. Параметр ldap вказує на використання LDAP, а nis чи nisplus — на NIS чи NIS+ відповідно. Для WINS використовується слово wins.
Назва бази даних у файлі nsswitch.conf йде першою, за нею двокрапка, і список можливих джерел інформації (розділених пробілом). Наприклад:
passwd: files ldap shadow: files group: files ldap hosts: dns nis files ethers: files nis netmasks: files nis networks: files nis protocols: files nis rpc: files nis services: files nis automount: files aliases: files
Джерела використовуються у тому порядку, в якому вони вказані у файлі.
Історія
Операційна система Ultrix була однією з перших, де було реалізовано функціональність, майже ідентичну до NSS (ім'я файла конфігурації було /etc/svc.conf
). Старіші Unix-подібні системи мали або жорстко закодовані імена файлів для інформації про паролі і імена, або так само жорстко закодовані правила для доступу до специфічних баз даних.
Перша версія NSS з'явилася у операційній системі Solaris від Sun Microsystems. З часом NSS було портовано до FreeBSD, NetBSD, Linux, HP-UX, IRIX і AIX.
Див. також
- BSD Authentication
- Сервер імен
- Pluggable Authentication Modules
Посилання
- : name-service switch configuration file – NetBSD File Formats Manual
- Name Service Switch implementation in the GNU C Library
- NSS module supporting LDAP Архівовано 16 квітня 2018 у Wayback Machine.: nss_ldap
- Another NSS module supporting LDAP: nss-ldapd
- NSS module supporting AFS: nss_afs