При обновлении на nscd-2.3.5-alt7 и замене ядра с std26 на vs26 обнаружилось периодическое падение nscd во время работы. Время работы до падения произвольное, от минут до часов. В момент падения подозрительных записей в выводе strace не наблюдается. При запуске сервиса nscd жаловался на отсутствие каталога /var/db/nscd: nscd: 8671 cannot create /var/db/nscd/passwd; no persistent database used После создания каталога с соответствующими правами падение прекращается.
Какие права нужны каталогу для "persistent storage"?
Я сделал такие: # ls -l /var/db | grep nscd drwxr-x--- 2 nscd nscd 43 Sep 12 22:35 nscd Группу, наверное, можно и убрать. В каталог nscd пишет свои файлы: # ls -l /var/db/nscd total 192 -rw------- 1 nscd nscd 217016 Sep 12 22:35 group -rw------- 1 nscd nscd 217016 Sep 12 22:35 hosts -rw------- 1 nscd nscd 217016 Sep 12 22:35 passwd
Понятно, надо будет перенести из /var/db/ в /var/lib/ и сделать права доступа %attr(1770,root,nscd). Кстати, если выключить persistent, то nscd захочет создавать файлы в каталоге /var/run/nscd/, возможно, что права на этот каталог тоже придётся скорректировать.
Насколько я понял, в /var/run/nscd/ создаётся сокет и в случае с отключённым persistent еще пара временных файлов для обмена данными между потомками nscd. Причём всё это делается ещё при работе nscd под root, т.е. менять права на /var/run/nscd, похоже, не надо.
Ну вот, glibc обновил а такую мелочь забыл.
Packaged /var/db/nscd in 2.3.6-alt3.
Relocated /var/db/nscd to /var/lib/nscd.