Nscd — это демон (сервис), который предоставляет кэш для наиболее общих запросов службы имен. По умолчанию, поведение демона кэша определяет файл с настройками /etc/nscd.conf.
Установка сервиса (демона) nscd в Linux Ubuntu:
sudo apt install nscd sudo service nscd restart
Можно посмотреть, что вообще происходит с кешем:
sudo ncsd -g
и список закешированных доменов
sudo strings /var/cache/nscd/hosts
Допустимыми службами являются: passwd, group или hosts. Nscd ничего не знает о протоколах служб. Это также означает, что если вы изменяете .etc/resolv.conf для DNS запросов, nscd продолжит использование старых данных, если вы настроили в файле /etc/nsswitch.conf поиск узлов через использование DNS. В этом случае, вам нужно перезапустить nscd.
Nscd предоставляет кэширование для баз данных passwd, group, и hosts через стандартные интерфейсы libc, такие как getpwnam, getpwuid, getgrnam, getgrgid, gethostbyname, и другие.
Каждый кэш имеет для своих данных отдельное TLL (time-to-live — время жизни); изменения в локальной базе данных (/etc/passwd, и других) приводит к тому что кэш становится неправльным в течении пятнадцати секунд.
Nscd содержит два кэша на каждую категорию: попаданий (найденный элемент) и промахов (ненайденные элемены). Каждый кэш имеет для своих данных отдельный TTL (время жизни). Эти параметры настраиваются в /etc/nscd.conf
. Для того, чтобы программа использовала кэширование, nscd должен быть запущен перед ней. Таким образом NSS кэш может решить проблему отключения сети, благодаря тому, что информация о пользователе будет получаться из кэша, пока он не устареет, даже если нет соединения с LDAP.
Файл /etc/nscd.conf читается демоном nscd при его запуске. Каждая строка задаёт или атрибут и значение, или атрибут, службу и значение. Поля разделяются или пробелами или символами табуляции. Символ # (решётка) говорит от начале комментария; следующие за ним до конца строки символы, не интерпретируются nscd.
logfile debug-file-name
debug-level value
threads number
server-user user
enable-cache service <yes|no>
positive-time-to-live service value
negative-time-to-live service value
suggested-size service value
check-files service <yes|no>