Name Service Switch (NSS) — механізм у UNIX-подібних операційних системах, що дозволяє мати більше ніж один метод резолвінгу імен. Джерелами інформації для NSS можуть бути локальні файли (такі, як hosts, /etc/passwd
, /etc/group
), доменна система імен (DNS), NIS і LDAP.
Основний метод конфігурування сервісів імен — файл /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.