Linux технологии

nsswitch.conf - конфигурационный файл cистемных баз данных и переключателя сервисов имен

НАЗВАНИЕ
nsswitch.conf - конфигурационный файл cистемных баз данных
и переключателя сервисов имен

ОПИСАНИЕ
Многие функции в бибилиотеках C должны быть настроены так,
чтобы без сбоев работать в локальной среде. Раньше это
делалось с помощью соответствующих файлов (например,
`/etc/passwd'), но потом появились другие сервисы имен
(такие, как Network Information Service (NIS) и Domain
Name Service (DNS)), ставшие популярными и включенные в
библиотеки C.

В Linux libc5 есть поддержка NYS, а в glibc 2.x
(libc.so.6) содержится более простое и эффективное решение
этой проблемы. Оно было реализовано на основе метода,
использованного Sun Microsystems в библиотеке C Solaris 2.
Мы последовали этому примеру и назвали эту схему "Name
Service Switch" (NSS). Источники "баз данных" и порядок их
просмотра задаются в файле /etc/nsswitch.conf.

В NSS поддерживаются следующие базы данных:

aliases
(почтовые алиасы (псевдонимы), используемые send-
mail(8),которые в настоящее время игнорируются);

ethers (ethernet-адреса);

group (группы пользователей, с которыми работает функция
getgrent(3));

hosts (имена и адреса машин, используемые функцией geth-
ostbyname(3) и ей подобными);

netgroup
(общесетевой список машин и пользователей,
используемый для определения прав доступа к
системе. Библиотеки C до glibc 2.1 поддерживали
эти группы только для NIS);

network
(имена и адреса сетей, используемые функцией getne-
tent(3));

passwd (пароли пользователей, обрабатываемые функцией get-
pwent(3));

protocols
(сетевые протоколы, используемые функцией getpro-
toent(3));

publickey
(открытые и закрытые ключи для Secure_RPC,
используемые NFS и NIS+);

rpc (имена и номера удаленных вызовов процедур RPC,
используемые функцией getrpcbyname(3) и ей
подобными);

services
(сетевые службы, работающие с функцией getser-
vent(3));

shadow (скрытые (shadow) пароли пользователей,
обрабатываемые функцией getspnam(3)).

Файл /etc/nsswitch.conf может выглядеть примерно так
(такое содержимое используется и по умолчанию, если файл
/etc/nsswitch.conf отсутствует):

passwd: compat
group: compat
shadow: compat

hosts: dns [!UNAVAIL=return] files
networks: nis [NOTFOUND=return] files
ethers: nis [NOTFOUND=return] files
protocols: nis [NOTFOUND=return] files
rpc: nis [NOTFOUND=return] files
services: nis [NOTFOUND=return] files

Первая колонка - это название базы данных. Остальная часть
строки описывает процесс поиска данных. Этот процесс
можно задать для каждой базы данных в отдельности.

Описание конфигурации каждой базы данных может содержать
два типа элементов:
* Название сервиса, например, `files', `db' или `nis'.
* Ответ на результат работы сервиса, например, `[NOT-
FOUND=return]'.

В libc5 с NYS разрешены следующие названия сервисов:
`files', `nis' и `nisplus'. Для имен машин можно
использовать сервис `dns', для passwd и group - `compat'
(но не для shadow).

В glibc, у Вас должен быть файл /lib/libnss_СЕРВИС.so.X
для каждого СЕРВИСА, с которым Вы работаете. Вы увидите
`files', `db', `nis' и `nisplus'. Для имен машин можно
использовать сервис `dns', для passwd, group и shadow -
`compat'. Эти сервисы не будут использоваться в libc5 с
NYS. Номер версии X равен 1 в glibc 2.0 и 2 в glibc 2.1.

Второй вариант элемента в описании конфигурации позволяет
более гибко контролировать процесс поиска данных. Элементы
действий помещаются между двумя названиями сервисов и
заключаются в квадратные скобки. Общая форма элемента
действий:

`[' ( `!'? СТАТУС `=' ДЕЙСТВИЕ )+ `]'

where

СТАТУС => success | notfound | unavail | tryagain
ДЕЙСТВИЕ => return | continue

Регистр написания ключевых слов неважен. СТАТУС - это
результат вызова соответствующей функции заданного
сервиса:

success
Ошибки не произошло, и возвращено искомое значение.
Стандартное действие для этого статуса - `return'.

notfound
Поиск проведен успешно, но искомое значение не
найдено. Стандартное действие - `continue'.

unavail
Сервис недоступен. Это означает, что файла не
существует или, в случае DNS, сервер недоступен или
не позволяет отправлять запросы. Стандартное
действие - `continue'.

tryagain
Сервис временно недоступен. Это означает, что файл
заблокирован или сервер не может создать
соединение. Стандартное действие - `continue'.


Работа с синтаксисом +/- (режим compat)
libc5 в Linux без NYS не имеет NSS, но имеет простую
встроенную форму контроля пользовательской работы. В файле
/etc/passwd могут находиться строки в форме +пользователь
или +@сетевая_группа (включить заданного пользователя в
карту NIS passwd), -user или -@netgroup (исключить
заданного пользователя) и + (включить всех пользователей,
кроме исключаемых из карты NIS passwd). Многие помещают
один + в конце файла /etc/passwd; в этом случае NSS
предлагает более быструю альтернативу (`passwd: files
nis'), которой не нужен + в файлах /etc/passwd, /etc/group
и /etc/shadow. Если этого недостаточно, то сервис `com-
pat' NSS полностью поддерживает семантику +/-. По
умолчанию источник равен `nis', но это можно изменить,
задав `nisplus' в качестве сервиса псевдобаз данных
passwd_compat, group_compat и shadow_compat. Псевдобазы
доступны только в GNU-библиотеке C.

ФАЙЛЫ
Сервис под именем СЕРВИС включен в разделяемую библиотеку
под названием libnss_СЕРВИС.so.X; эта библиотека находится
в каталоге /lib.

/etc/nsswitch.conf файл конфигурации
/lib/libnss_compat.so.X сервис `compat' в glibc2
/lib/libnss_db.so.X сервис `db' в glibc2
/lib/libnss_dns.so.X сервис `dns' в glibc2
/lib/libnss_files.so.X сервис `files' в glibc2
/lib/libnss_hesiod.so.X сервис `hesiod' в glibc2
/lib/libnss_nis.so.X сервис `nis' в glibc2
/lib/libnss_nisplus.so.2 сервис `nisplus' в glibc 2.1

ЗАМЕЧАНИЯ
Каждому процессу, использующему nsswitch.conf, весь файл
читается один раз; если файл после этого изменить, то
процесс будет работать со старой конфигурацией.
В Solaris программы, использующие NSS, нельзя собирать
статически. В Linux этой проблемы нет.

Если Вы обнаружите в опубликованных документах ошибки, опечатки, несоответствия и неточности - сообщите о них.
>>> Представлен релиз дистрибутива Linux Mint 20, перешедший на пакетную базу Ubuntu 20.04 LTS. Дистрибутив полностью совместим с Ubuntu, но существенно отличается подходом к организации интерфейса пользователя и подбором используемых по умолчанию приложений. Разработчики Linux Mint предоставляют десктоп-окружение, соответствующее классическим канонам организации рабочего стола, которое является более привычным для пользователей, не принимающих новые методы построения интерфейса GNOME 3. Для загрузки доступны DVD-сборки на базе оболочек MATE 1.24 (1.9 Гб), Cinnamon 4.6 (1.8 Гб) и Xfce 4.14 (1.8 Гб). Linux Mint 20 отнесён к выпускам с длительным сроком поддержи (LTS), обновления для которого будут формироваться до 2025 года.
>>> Разработчики проекта Chromium внесли изменение, прекращающее доверие к TLS-сертификатам, время жизни которых превышает 398 дней (13 месяцев). Ограничение будет действовать только для сертификатов, выписанных начиная с 1 сентября 2020 года. Для полученных до 1 сентября сертификатов с длительным сроком действия доверие будет сохранено, но ограничено 825 днями (2.2 года).
>>> Опубликован второй выпуск графического редактора Glimpse, ответвившегося от проекта GIMP после 13 лет попыток убедить разработчиков сменить имя. Сборки подготовлены для Windows и Linux (пока только в формате Flatpak, но будет подготовлен и Snap). Кроме исправления ошибок из изменений отмечается добавление новых тем оформления интерфейса и пиктограмм, улучшение переводов для неанглоязычных пользователей, избавление фильтров от упоминания слова "gimp", добавление настройки для выбора языка на платформе Windows и удаление лишних кистей "fun".
>>> Состоялся релиз web-браузера Min 1.13, предлагающего минималистичный интерфейс, построенный вокруг манипуляций с адресной строкой. Браузер создан с использованием платформы Electron, позволяющей создавать обособленные приложения на основе движка Chromium и платформы Node.js. Интерфейс Min написан на javascript, CSS и HTML. Код распространяется под лицензией Apache 2.0. Сборки сформированы для Linux, macOS и Windows.


Редакция портала:

Добро пожаловать на сайт, посвященный документации к ОС Linux, ее переводу и распространению. Мы надеемся, что Вы найдете тут всю необходимую информацию. Здесь представлены три основных вида документации на русском языке: руководства (man-pages), HOWTO и mini-HOWTO. В скором будущем возможно появление и других видов документации.
Авторские права на представленные документы принадлежат авторам перевода и распространяются в соответствии со Стандартной Общественной Лицензией, если в документе не указано обратное.
Если Вы обнаружите в опубликованных документах ошибки, опечатки, несоответствия и неточности - сообщите о них.


Живая лента

Что делать, если Siri не работает?

STFW.Ru: Бывают случаи, что голосовой помощник Siri (Сири) не работает на iPhone, iPad, iPod Touch, Mac или AirPods. В данной статье вы узнаете, что делать, если Сири перестала работать.1. Проверьте ...

Цифровизация по-китайски, или как коронавирус изменил интернет в Азии

STFW.Ru: В России второй год реализуется нацпрограмма "Цифровая экономика", целью которой является цифровизация как госуправления и отраслей, так и услуг для граждан. И это общемировой тренд. Портал ...

Российские биохимики "превратили" яд скорпиона в лекарство от рака

STFW.Ru: Российские и бельгийские молекулярные биологи "перепрофилировали" молекулы яда пестрых скорпионов, приспособив их для лечения аутоиммунных болезней и определенных типов рака, поменяв то, с ...

06:01 Из Kali Linux уберут права root по умолчанию


06:01 Tails 4.2.2 - экстренный релиз


06:01 РЖД закупит 15 000 компьютеров с российскими процессорами «Эльбрус»


06:01 Минкомсвязи утвердило требования к российским DNS


08:11 Выпуск Debian 9.6


08:11 Четвёртый бета-выпуск FreeBSD 12.0. Прекращение поддержки FreeBSD 10


08:11 Mozilla тестирует в Firefox две новые возможности: Price Wise и Email Tabs


08:11 В Chrome развивается API для создания полноценных пользовательских приложений


08:11 Выпуск wayland-protocols 1.17 с поддержкой буфера обмена по средней кнопке мыши


08:11 Обновлены сборки дистрибутива Void Linux


15:11 Cinnamon 4.0


15:11 В Chrome 71 начнётся блокировка вводящих в заблуждение рекламных блоков


15:11 ReactOS 0.4.10