Конфигурационен файл за системни бази данни и превключвател на услуги за имена - документация за Linux

ИМЕnsswitch.conf - конфигурационен файл за системни бази данни и превключвател на услуги за имена

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

Следните бази данни се поддържат в NSS:

псевдоними (пощенски псевдоними (псевдоними), използвани от send- mail(8), които в момента се игнорират);

група (групи от потребители, с които работи функцията getgrent(3););

netgroup (мрежов списък от машини и потребители използвани за определяне на правата за достъп до система. C библиотеките преди glibc 2.1 поддържаха тези групи само за NIS);

passwd (потребителски пароли, обработвани от get- pwent(3));

протоколи (мрежови протоколи, използвани от getpro- toent(3));

publickey (публични и частни ключове за Secure_RPC, използвани от NFS и NIS+);

rpc (имена и номера на RPC извиквания на отдалечени процедури използвани от getrpcbyname(3) и подобни функции);

услуги (мрежови услуги, които работят с функцията getser- vent(3);

shadow (скрити (сенчести) потребителски пароли, обработени от функцията getspnam(3).

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

passwd:compat група:compat сянка: compat

хостове: dns [!UNAVAIL=return] файлове мрежи: nis [NOTFOUND=return] файлове ethers: nis [NOTFOUND=return] файлове протоколи: nis [NOTFOUND=return] файлове rpc: nis [NOTFOUND=return] файлове услуги: nis [NOTFOUND=return] файлове

Първата колона е името на базата данни. Останалата част от реда описва процеса на извличане на данни. Този процес може да бъде зададен на база база данни.

Всяко описание на конфигурация на база данни може да съдържа два типа елемента: * Името на услугата, като `files', `db' или `nis'. * Отговор на резултата от услугата, напр. `[NOT- FOUND=return]'.

В libc5 с NYS са разрешени следните имена на услуги: `files', `nis' и `nisplus'. За имена на хостове можете да използвате услугата `dns', за passwd и group можете да използвате `compat' (но не и за shadow).

В glibc трябва да имате файл /lib/libnss_SERVICE.so.X за всяка УСЛУГА, с която работите. Ще видите `files', `db', `nis' и `nisplus'. За имена на машини можете да използвате услугата `dns', за passwd, group и shadow - `compat'. Тези услуги няма да се използват в libc5 с NYS. Номерът на X версията е 1 в glibc 2.0 и 2 в glibc 2.1.

Втората версия на елемента в описанието на конфигурацията позволява по-гъвкав контрол върху процеса на търсене на данни. Елементите на действие се поставят между две имена на услуги и , оградени в квадратни скоби. Общата форма на елемента действие е:

СТАТУС=> успех не е намерен неизползван опит отново ДЕЙСТВИЕ => връщане продължи

Регистърът на ключовите думи не е важен. STATUS е резултат от извикване на съответната функция на дадената услуга:

успех Не е възникнала грешка и стойността, която търсите, е върната. Стандартно действие затова състояние е „връщане“.

notfound Търсенето беше успешно, но стойността, която търсихте не беше намерена . Действието по подразбиране е „продължи“.

unavail Услугата не е достъпна. Това означава, че файлът не съществува или, в случай на DNS, сървърът е недостъпен или не позволява да се изпращат заявки. Действието по подразбиране е `продължи'.

tryagain Услугата временно не е достъпна. Това означава, че файлът е заключен или сървърът не може да създаде връзка. Действието по подразбиране е „продължи“.

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