Ккак правило окружение для управления пользователями кэшируется. Незнание данного факта может привести к долговременной ловле багов, например при использовании Name Service Switch.
В Linux за кэширование результатов NSS отвечает демон Nscd.
Nscd предоставляет кэширование для баз данных passwd, group и hosts через стандартные интерфейсы libc, такие как getpwnam, getpwuid, getgrnam, getgrgid, gethostbyname, и другие.
Часто встречаемая проблема данного демона — демон не сбрасывает кэш пр перезагрузке, т.е. по факту наши изменения не вносятся оперативно. Решение простое — сделать кэш не действительным, т.е. использовать ключ «-i»
$nscd -? Usage: nscd [OPTION...] Name Service Cache Daemon. -d, --debug Do not fork and display messages on the current tty -f, --config-file=NAME Read configuration data from NAME -g, --statistics Print current configuration statistics -i, --invalidate=TABLE Invalidate the specified cache |
#Кэши включенные по умолчанию $cat /etc/nscd.conf #Стандартные таблицы group/passwd/hosts $nscd -i group |