ОПИСАНИЕ
Функции, возвращающие данные из системной базы данных паролей или групп,
включены в реализацию диспетчера службы имён (Name Service Switch)
библиотеки GNU C. Все службы реализованы в виде независимых модулей,
значительно отличающихся друг от друга.
Реализация библиотеки GNU C стабильна и не использует небезопасных данных. В некоторых ситуациях это может оказаться затратным, особенно если базы данных очень велики. Некоторые модули позволяют системному администратору включить упрощённый поиск, если известно, что это безопасно.
Есть несколько модулей, реализация которых изменилась после долгого времени. Если в реализации раньше жертвовали скоростью в угоду снижению потребления памяти, это может создать проблемы, если было важно обратное предпочтение.
В файле /etc/default/nss нескольким переменным задаются значения. Каждая переменная управляет поведением одного или нескольких модулей NSS. Пробельные символы игнорируются. Строки, начинающиеся с '#', считаются комментариями.
Действующие переменные:
NETID_AUTHORITATIVE = TRUE|FALSE Если значение равно TRUE, то реализация NIS для функции initgroups(3) будет принимать информацию из карты NIS netid.byname как достоверную (authoritative). Это может значительно увеличить скорость функции, если карта group.byname очень велика. Содержимое карты netid.byname используется как есть. За корректность её данных ответственен системный администратор.
SERVICES_AUTHORITATIVE = TRUE|FALSE Если значение равно TRUE, то реализация NIS для функций getservbyname(3) и getservbyname_r(3) будет предполагать, что карта NIS services.byservicename существует и достоверна; что она содержит ключи с /proto и без /proto для главной (primary) службы имён и псевдонимов служб. За корректность её данных ответственен системный администратор.
SETENT_BATCH_READ = TRUE|FALSE Если значение равно TRUE, то реализация NIS для функций setpwent(3) и setgrent(3) будет читать всю базу сразу, а затем, используя память, обрабатывать поступающие запросы друг за другом для каждого соответствующего вызова getpwent(3) или getgrent(3). В противном случае для получения следующей записи каждый вызов getpwent(3) или getgrent(3) может создавать сетевое обращение к серверу.
ФАЙЛЫ
/etc/default/nss
ПРИМЕР
Файл с настройками по умолчанию выглядит так:
NETID_AUTHORITATIVE=FALSE SERVICES_AUTHORITATIVE=FALSE SETENT_BATCH_READ=FALSE