nsswitch conf что это

Форматы файлов

НАЗВАНИЕ

СИНТАКСИС

ОПИСАНИЕ

Файл используется для управления следующими базами данных:

При этом можно использовать следующие источники:

СостояниеЗначение
SUCCESSЗапрошенная запись была найдена в базе данных.
UNAVAILИсточник не сконфигурирован в данной системе или произошел внутренний сбой.
NOTFOUNDИсточник сообщил, что соответствующей записи нет
TRYAGAINИсточник занят или не отвечает; возможно, ответ будет получен при следующих попытках.

Для каждого кода статуса возможны два действия:

ДействиеЗначение
continueОбратиться к следующему источнику в списке.
returnЗавершить поиск.

Кроме того, для статуса TRYAGAIN возможны также следующие действия:

Полный синтаксис записи имеет вид:

::= » : » [ [ ]]* ::= » [ » + » ] » ::= » = » ::= » success » | » notfound » | » unavail » | » tryagain «

Для статуса TRYAGAIN синтаксис действия следующий:

::= » return » | » continue » | » forever » | ::= 0. MAX_INT

Взаимодействие с netconfig

Взаимодействие с сервером NIS+ в режиме совместимости с NIS/YP

Сервер NIS+ может работать в режиме совместимости с NIS («YP-compatibility mode»), когда он обрабьатывает запросы службы NIS (YP) наряду с запросами NIS+. В этом случае клиенты получают из источника » nis » практически те же результаты (за исключением функции getspnam(3C) ), что и из » nisplus «; рекомендуется, однако, использовать » nisplus » вместо » nis «.

Взаимодействие с сервером в режиме перенаправления DNS

Сервер NIS (YP) может работать в режиме «перенаправления DNS», когда он перенаправляет запросы поиска имен и адресов хостов, отсутствующих в его базе данных, серверу DNS. В этом случае указания » nis » в качестве источника для » hosts » достаточно для обеспечения поиска в DNS; источник » dns » явно указывать не обязательно.

В SunOS 5.3 (Solaris 2.3) и последующих версиях, сервер NIS+ в режиме совместимости с NIS/YP может также обеспечивать редим перенаправления DNS (см. rpc.nisd(1M) ). Перенаправление выполняется только для запросов от клиентов YP; правила поиска хостов ( hosts ) на этих клиентах надо сконфигурировать соответствующим образом.

Устаревание паролей

При включении устаревания паролей допустимо использование лишь ограниченного набора источников для базы данных passwd в файле /etc/nsswitch.conf :

Взаимодействие с конструкциями +/-

Полезные конфигурации

Встроенные стандартные записи для всех баз данных используют службу NIS (YP) в качестве службы имен масштаба предприятия и идентичны тем, что представлены в стандартной конфигурации данного файла:

Правило » nis [NOTFOUND=return] files » означает: «если служба nis недоступна ( UNAVAIL ), перейти к файлам ( files ), а если данные в ней не найдены ( NOTFOUND ), прекратить поиск как недавшийся; другими словами, рассматривать nis как авторитетный источник информации и обращаться к файлам только если служба nis не работает». Это и другие правила, представленные в стандартной конфигурации, идентичны жестко установленным правилам в версиях SunOS до 5.0.

Если в качестве службы имен масштаба предприятия используется NIS+, стандартную конфигурацию следует изменить так, чтобы nisplus использовалась вместо nis для каждой базы данных на клиентских машинах. Файл /etc/nsswitch.nisplus содержит пример конфигурации, которую можно просто скопировать в /etc/nsswitch.conf для установки соответствующих правил.

Если в качестве службы имен масштаба предприятия используется LDAP, стандартную конфигурацию следует изменить так, чтобы ldap использовалась вместо nis для каждой базы данных на клиентских машинах. Файл /etc/nsswitch.ldap содержит пример конфигурации, которую можно просто скопировать в /etc/nsswitch.conf для установки соответствующих правил.

Для получения информации о хостах, не представленных в службе имен масштаба предприятия, NIS+ и LDAP, от службы доменных имен (Internet Domain Name Service), используйте следующую конфигурацию и настройте файл /etc/resolv.conf (подробнее см. на странице справочного руководства resolv.conf(4) ):

ФАЙЛЫ

ССЫЛКИ

ПРИМЕЧАНИЯ

Опечатки в именах источников и баз данных допускаются и приводят к тому, что используются, скорее всего, не существующие источники и базы данных.

Последнее изменение: 12 ноября 1999 года

Источник

Nsswitch conf что это

Данный файл представляет собой простой текст в кодировке ASCII с колонками, разделёнными пробелами или символами табуляции. В первой колонке указывается имя базы данных. В оставшихся колонках задаётся порядок запросов к источникам и ограниченный набор действий, который может быть выполнен в зависимости от результата запроса.

Библиотека GNU C распознаёт следующие базы данных:

aliases Почтовые псевдонимы, используемые getaliasent(3) и подобными функциями. ethers Номера ethernet. group Группы пользователей, используемые getgrent(3) и подобными функциями. hosts Имена узлов и номера, используемые gethostbyname(3) и подобными функциями. initgroups Дополнительный список групп доступа, используется функцией getgrouplist(3). netgroup Список узлов и пользователей сети, используемый для правил доступа. Библиотеки C до версии glibc 2.1 поддерживают сетевые группы только посредством NIS. networks Имена сетей и номера, используемые getnetent(3) и подобными функциями. passwd Пароли пользователей, используемые getpwent(3) и подобными функциями. protocols Сетевые протоколы, используемые getprotoent(3) и подобными функциями. publickey Открытые и секретные ключи для Secure_RPC, используемые в NFS и NIS+. rpc Имена и номера вызовов удалённых процедур, используемые getrpcbyname(3) и подобными функциями. services Сетевые службы, используемые getservent(3) и подобными функциями. shadow Теневые пароли пользователей, используемые getspnam(3) и подобными функциями.

Пример файла /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». Очерёдность служб в строке определяет порядок, в котором будут опрашиваться данные службы (пока не будет найден результат). * Необязательные действия для выполнения, если получен определённый результат от предыдущей службы, например «[NOTFOUND=return]».

Список поддерживаемых системой служб зависит от наличия динамических библиотек (и, таким образом, расширяем). Библиотека с именем /lib/libnss_СЛУЖБА.so.X предоставляет службу СЛУЖБА. В стандартной установке вы можете использовать «files», «db», «nis» и «nisplus». Для базы данных hosts вы можете дополнительно указать «dns». Для баз данных passwd, group и shadow вы можете дополнительно указать «compat» (см. Режим совместимости далее). Номер версии X может быть равен 1 (для glibc 2.0) или 2 (для glibc 2.1 и новее). В системах с дополнительно установленными библиотеками могут быть другие службы, такие как «hesiod», «ldap», «winbind» и «wins».

Также, после указания службы может быть указано действие. Действие изменяет дальнейшее поведение в зависимости от результата, полученного из предыдущего источника данных. Действия задаются следующим образом:

СОСТОЯНИЕ => success | notfound | unavail | tryagain
ДЕЙСТВИЕ => return | continue

Значение СОСТОЯНИЕ — это результат вызова функции поиска заданной службы. Оно может принимать значения:

success Запрашиваемая запись найдена и ошибок не произошло. Для этого состояния действием по умолчанию является «return». notfound Поиск выполнен, но нужная запись не была найдена. Для этого состояния действием по умолчанию является «continue». unavail Служба постоянно недоступна. Это может означать, что недоступен для чтения нужный файл или, для сетевых служб, что сервер недоступен или не обслуживает запросы. Для этого состояния действием по умолчанию является «continue». tryagain Служба временно недоступна. Это может означать, что какой-либо файл заблокирован или что в данный момент сервер не может принять больше соединений. Для этого состояния действием по умолчанию является «continue».

Значением ДЕЙСТВИЕ может быть одно из:

return Вернуть результат. Не вызывать функции для дальнейшего поиска. Однако, с целью совместимости, если это действие указывается для базы данных group и состояние равно notfound, и файл настройки не содержит строку initgroups, то всегда вызывается следующая функция поиска, независимо от результата поиска. continue Вызвать следующую функцию поиска.

Режим совместимости (compat)

По умолчанию источником является «nis», но это можно изменить, указав «nisplus» в качестве источника псевдо-базы данных passwd_compat, group_compat и shadow_compat.

ФАЙЛЫ

При указании в соответствующих базах источника «files», читаются следующие файлы:

aliases /etc/aliases ethers /etc/ethers group /etc/group hosts /etc/hosts initgroups /etc/group netgroup /etc/netgroup networks /etc/networks passwd /etc/passwd protocols /etc/protocols publickey /etc/publickey rpc /etc/rpc services /etc/services shadow /etc/shadow

ЗАМЕЧАНИЯ

Изначально использовался только один источник служебной информации, часто в виде одного файла настройки (например, /etc/passwd). Однако, по мере того, как становились популярными другие службы, такие как служба сетевой информации (Network Information Service (NIS)) и служба доменных имён (Domain Name Service (DNS)), потребовался более гибкий способ определения порядка поиска вместо встроенного в библиотеку C. Для решения этой проблемы был создан диспетчер службы имён (Name Service Switch), основанный на механизме, использованном Sun Microsystems в C-библиотеке Solaris 2.

Источник

Как в Linux определяется порядок источников для разрешения имён (приоритет файла hosts и DNS)

Перед доступом к сайту компьютеру необходимо узнать его IP. Обычно для этого используется запрос к DNS серверу, который веб-браузер или операционная система выполняют автоматически, без действий пользователя.

В операционных системах Windows и Linux имеется файл hosts, в котором можно установить IP адреса для любых имён — хостов и доменных имён. По умолчанию операционные системы работают так:

В операционной системе Linux можно поменять приоритет источников для получения IP адреса или вовсе отключить некоторые из них. Для этого используется файл /etc/nsswitch.conf

nsswitch conf что это. Смотреть фото nsswitch conf что это. Смотреть картинку nsswitch conf что это. Картинка про nsswitch conf что это. Фото nsswitch conf что это

Для чего нужен /etc/nsswitch.conf

Файл /etc/nsswitch.conf — это «Name Service Switch configuration file», то есть конфигурационный файл переключения служб имён. Он устанавливает настройки не только службы преобразования имён хостов и доменных имён, но эта настройка, пожалуй, самая востребованная.

Строка, которая отвечает за преобразование имён хостов начинается на «hosts». В моей системе эта строка выглядит так:

hosts — это указание на службу, для которой предназначена строка.

files означает файл, относящийся к этой службе. У каждой службе в системе свой файл, в данном случае имеется ввиду /etc/hosts

Кстати, для других служб файлы следующие:

Поскольку слово files стоит в строке первым, то в начале имя хоста (доменное имя) ищется в файле /etc/hosts

mymachines — судя по названию, означает имя машины. Можно предположить (информации в документации я не нашёл), что если искомое имя совпадает с именем машины, то возвращается IP адрес текущей машины

myhostname — аналогично, документацию я не нашёл, но ключевое слово имеет отношение имени текущего хоста, возможно, работает как и mymachines

resolve — это системная служба, подробности:

Строка [!UNAVAIL=return] означает, что если предыдущая служба недоступна, то немедленно будет возвращён результат без запроса в следующем источнике. Поскольку resolve кэширует и валидирует DNS, то, видимо, без resolve нет смысла делать запрос через dns. Также resolve отвечает за преобразования некоторых локальных имён, в том числе «localhost» и «localhost.localdomain» (а также любые имена хостов, заканчивающиеся на «.localhost» или «.localhost.localdomain«), а также «_gateway«, который преобразовывается в адрес текущего маршрута по умолчанию.

Кстати, по этой причине возможен следующий фокус (будет пропингован IP адрес маршрута по умолчанию):

dns — эта запись означает запрос имён у DNS серверов

Как можно увидеть, в первую очередь приоритет отдаётся /etc/hosts, и если ничего не найдено с помощью других сервисов, то только в этом случае для разрешения имени задействуется DNS.

Другие подробности, в том числе про условия передачи управления следующей службы, смотрите в справочной странице файла nsswitch.conf:

Когда вступают в силу изменения в файле nsswitch.conf. Почему не работают изменения в файле nsswitch.conf

Если вы будете редактировать настройки файла nsswitch.conf, то помните, что службы, которые его используют, считывают файл только один раз. Если после этого в файл были сделаны изменения, то служба по-прежнему будет использовать старый вариант! Получается, чтобы изменения вступили в силу, нужно перезагрузить операционную систему.

Как отключить файл /etc/hosts

Чтобы отключить файл /etc/hosts, нужно в файле /etc/nsswitch.conf найти строку, которая начинается на hosts и удалить из неё слово files.

Например, начальный вид строки:

Для отключения /etc/hosts нужно чтобы строка выглядела так

Как сделать приоритет DNS выше файла /etc/hosts

Чтобы запросы к DNS серверу выполнялись до поиска имён в файле /etc/hosts, нужно в файле /etc/nsswitch.conf найти строку, которая начинается на hosts и слово dns поставить ДО слова files. Например, так:

Как оптимизировать файл /etc/nsswitch.conf

Я не проверял этот совет на своей ОС и не мору ручаться, что после него всё будет работать как надо, но я наткнулся на рекомендацию в файле /etc/nsswitch.conf из строки с hosts удалить всё лишнее и записать её в следующем виде:

Повторюсь, не мору ручаться за верность последнего совета.

Источник

ОПИСАНИЕ
Многие функции в бибилиотеках 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),которые в настоящее время игнорируются);

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]’.

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

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

Источник

Nsswitch conf что это

The following databases use the switch file:

DatabaseUsed By
aliasessendmail (1M)
auth_attr
automount
bootparams
ethers
group
hosts
ipnodes
netgroup
netmasks
networks
passwd
printers
prof_attr
project
protocols
publickey
rpc
services
user_attr

The following sources can be used:

StatusMeaning
SUCCESSRequested database entry was found.
UNAVAIL
NOTFOUND
TRYAGAIN

For each status code, two actions are possible:

ActionMeaning
continueTry the next source in the list.
return

Additionally, for TRYAGAIN only, the following actions are possible:

ActionMeaning
foreverRetry the current source forever.
n

The complete syntax of an entry is:

For the TRYAGAIN status, the action syntax is:

Each entry occupies a single line in the file. Lines that are blank, or that start with white space, are ignored. Everything on a line following a # character is also ignored; the # character can begin anywhere in a line, to be used to begin comments. The and names are case-sensitive, but and names are case-insensitive.

The library functions contain compiled-in default entries that are used if the appropriate entry in nsswitch.conf is absent or syntactically incorrect.

The default criteria for DNS and the NIS server in «DNS-forwarding mode» is [ SUCCESS =return NOTFOUND =continue UNAVAIL =continue TRYAGAIN =3].

The default criteria for all other sources is [ SUCCESS =return NOTFOUND =continue UNAVAIL =continue TRYAGAIN =forever].

The default, or explicitly specified, criteria are meaningless following the last source in an entry; and they are ignored, since the action is always to return to the caller irrespective of the status code the source returns.

Interaction with netconfig


YP-compatibility Mode


Interaction with server in DNS-forwarding Mode

In SunOS 5.3 (Solaris 2.3) and compatible versions, the NIS+ server in NIS/YP-compatibility mode can also be run in DNS-forwarding mode (see rpc.nisd (1M)). Forwarding is effective only for requests originating from its YP clients; hosts policy on these clients should be configured appropriately.

Interaction with Password Aging

When password aging is turned on, only a limited set of possible name services are permitted for the passwd : database in the /etc/nsswitch.conf file:

passwd: files nisplus

You can add the ad keyword to any of the passwd configurations listed above. However, you cannot use the passwd command to change the password of an Active Directory (AD) user. If the ad keyword is found in the passwd entry during a password update operation, it is ignored. To update the password of an AD user, use the kpasswd (1) command.

Interaction with +/- syntax

Note that in compat mode, for every /etc/passwd entry, there must be a corresponding entry in the /etc/shadow file.

Useful Configurations

The compiled-in default entries for all databases use NIS (YP) as the enterprise level name service and are identical to those in the default configuration of this file:

hosts: nis [NOTFOUND=return] files

ipnodes: nis [NOTFOUND=return] files

networks: nis [NOTFOUND=return] files

protocols: nis [NOTFOUND=return] files

rpc: nis [NOTFOUND=return] files

ethers: nis [NOTFOUND=return] files

netmasks: nis [NOTFOUND=return] files

bootparams: nis [NOTFOUND=return] files

publickey: nis [NOTFOUND=return] files

automount: files nis

services: files nis

printers: user files nis nisplus

auth_attr files nis

prof_attr files nis

If compatibility with the +/- syntax for passwd and group is required, simply modify the entries for passwd and group to:

If NIS+ is the enterprise level name service, the default configuration should be modified to use nisplus instead of nis for every database on client machines. The file /etc/nsswitch.nisplus contains a sample configuration that can be copied to /etc/nsswitch.conf to set this policy.

If LDAP is the enterprise level name service, the default configuration should be modified to use ldap instead of nis for every database on client machines. The file /etc/nsswitch.ldap contains a sample configuration that can be copied to /etc/nsswitch.conf to set this policy.

When using Active Directory, dns is required to perform hosts resolution.

passwd_compat: nisplus OR ldap

group_compat: nisplus OR ldap

hosts: nisplus dns [NOTFOUND=return] files

hosts: ldap dns [NOTFOUND=return] files

FILES

/etc/nsswitch.conf Configuration file.

/usr/lib/nss_compat.so.1 Implements compat source.

/usr/lib/nss_dns.so.1 Implements dns source.

/usr/lib/nss_files.so.1 Implements files source.

/usr/lib/nss_mdns.so.1 Implements mdns source.

/usr/lib/nss_nis.so.1 Implements nis source.

/usr/lib/nss_nisplus.so.1 Implements nisplus source.

/usr/lib/nss_ldap.so.1 Implements ldap source.

/usr/lib/nss_ad.so.1 Implements ad source.

/usr/lib/nss_user.so.1 Implements user source.

/etc/netconfig Configuration file for netdir (3NSL) functions that redirects hosts/devices policy to the switch.

/etc/nsswitch.files Sample configuration file that uses files only.

SEE ALSO

kpasswd (1), ldap (1), newtask (1), NIS+ (1), passwd (1), automount (1M), ifconfig (1M), mdnsd (1M), rpc.bootparamd (1M), rpc.nisd (1M), sendmail (1M), getauusernam (3BSM), getgrnam (3C), getnetgrent (3C), getpwnam (3C), getspnam (3C), gethostbyname (3NSL), getpublickey (3NSL), getrpcbyname (3NSL), netdir (3NSL), secure_rpc (3NSL), getprojent (3PROJECT), getdefaultproj (3PROJECT), inproj (3PROJECT), setproject (3PROJECT), getauthnam (3SECDB), getexecprof (3SECDB), getprofnam (3SECDB), getuserattr (3SECDB), getusernam (3SECDB), ethers (3SOCKET), getaddrinfo (3SOCKET), getnetbyname (3SOCKET), getprotobyname (3SOCKET), getservbyname (3SOCKET), auth_attr (4), hosts (4), netconfig (4), project (4), resolv.conf (4), user_attr (4), ypfiles (4), ad (5)

NOTES

Do not use the ldap and ad keywords together when the Solaris LDAP client uses schema mapping to talk to Active Directory.

Misspelled names of sources and databases are treated as legitimate names of (most likely nonexistent) sources and databases.

The following functions do not use the switch: fgetgrent (3C), fgetprojent (3PROJECT), fgetpwent (3C), fgetspent (3C), getpw (3C), putpwent (3C), shadow (4).

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *