Столкнулся с непонятным мне поведением системы при авторизации пользователей через OpenLDAP. Сама авторизация работает, с ее настройкой проблем не возникло. Однако в процессе тестирования заметил, что в случае остановки процесса nscd (Name Switch Cache Daemon) обычные пользователи перестают получать информацию из LDAP-каталога. Проявляется это, например, в невозможности получения имени пользователей/групп по их идентификаторам. К примеру, вот так выглядит ls корня для домашних каталогов от обычного пользователя при опущенном nscd:pacman@node1:~$ ls -la /home
итого 16
drwxr-xr-x 4 root root 4096 Июн 10 08:00 .
drwxr-xr-x 20 root root 4096 Июн 10 07:10 ..
drwxr-xr-x 2 10001 10001 4096 Июн 10 08:01 Obivan
drwxr-xr-x 3 10000 10000 4096 Июн 10 07:11 Vitaly
Причем на LDAP-сервер в этот момент запросы от NSS хоста вообще не прилетают. Если запустить nscd, то все кардинально меняется:
pacman@node1:~$ su
Пароль:
node1:/home/Vitaly# /etc/init.d/nscd start
Starting Name Service Cache Daemon: nscd.
node1:/home/Vitaly# exit
exit
pacman@node1:~$ ls -la /home
итого 16
drwxr-xr-x 4 root root 4096 Июн 10 08:00 .
drwxr-xr-x 20 root root 4096 Июн 10 07:10 ..
drwxr-xr-x 2 obivan obivan 4096 Июн 10 08:01 Obivan
drwxr-xr-x 3 pacman pacman 4096 Июн 10 07:11 Vitaly
При работе под root такого эффекта не наблюдается. Почему? Ведь nscd только кеширует запросы. Или не только?