Переключение службы имен
Эта статья включает список литературы , связанную литературу или внешние ссылки , но ее источники остаются неясными, поскольку в ней отсутствуют встроенные цитаты . ( Октябрь 2022 г. ) |
Переключатель службы имен ( NSS ) — это интерфейс glibc , который соединяет компьютер с различными источниками баз данных общей конфигурации и механизмами разрешения имен. [1] Эти источники включают файлы локальной операционной системы (например, /etc/пароль , /etc/group и /etc/hosts ), систему доменных имен (DNS), службу сетевой информации (NIS, NIS+) и LDAP .
nsswitch.conf
[ редактировать ]Системный администратор обычно настраивает службы имен операционной системы с помощью файла /etc/nsswitch.conf . В этом файле перечислены базы данных (такие как passwd , Shadow и Group ), а также один или несколько источников для получения этой информации. Примерами источников являются файлы для локальных файлов, ldap для облегченного протокола доступа к каталогам , nis для службы сетевой информации , nisplus для NIS+ , dns для системы доменных имен (DNS) и wins для службы имен Интернета Windows .
В файле 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
Порядок исходных баз данных определяет порядок, в котором NSS будет пытаться найти эти источники для разрешения запросов для указанной службы. После каждого имени источника может быть указан список критериев в квадратных скобках, определяющий условия, при которых NSS будет переходить к запросу следующего источника на основе ответа предыдущего источника.
История
[ редактировать ]Более ранние Unix-подобные системы либо имели доступ только к локальным файлам, либо имели жестко запрограммированные правила доступа к файлам или базам данных, хранящимся в сети. Ultrix был заметным исключением, поскольку его функциональность почти идентична файлу конфигурации NSS в /etc/svc.conf .
Компания Sun Microsystems впервые разработала NSS для своей операционной системы Solaris .
Соответствие Solaris стандарту SVR4, который Sun Microsystems и AT&T Unix System Laboratories совместно разработали путем слияния UNIX System V , BSD и Xenix , требовало, чтобы третьи стороны могли подключать реализации службы имен для транспортного уровня по своему выбору ( OSI или IP ). без переписывания SVR4-совместимых приложений Transport-Independent RPC ( TI-RPC ) или пересборки операционной системы. Sun представила службу каталогов NIS+ в Solaris, чтобы заменить NIS , которая требовала сосуществования двух служб каталогов внутри предприятия для облегчения миграции.
Инженеры Sun Томас Маслен и Санджай Дэни были первыми, кто разработал и реализовал переключатель службы имен. Они выполнили требования Solaris с помощью спецификации файла nsswitch.conf и выбора реализации для загрузки модулей доступа к базе данных в виде динамически загружаемых библиотек , которые Sun также представила первой.
Оригинальный дизайн файла конфигурации и загрузка серверных библиотек службы имен инженерами Sun выдержали испытание временем по мере развития операционных систем и появления новых служб имен. На протяжении многих лет программисты портировали файл конфигурации NSS с практически идентичной реализацией во многие другие операционные системы, включая FreeBSD , NetBSD , Linux , HP-UX , IRIX и AIX. [ нужна ссылка ] . Спустя более чем два десятилетия после изобретения NSS GNU libc реализует его почти идентично.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Переключатель службы имен (библиотека GNU C)» . www.gnu.org . Проверено 13 марта 2024 г.
Внешние ссылки
[ редактировать ]- NetBSD по форматам файлов Руководство : файл конфигурации переключателя службы имен –
- Реализация переключателя службы имен в библиотеке GNU C
- Еще один модуль NSS, поддерживающий LDAP : nss-ldapd.
- Модуль NSS, поддерживающий AFS : nss_afs