Пользовательский модуль NSS для Linux, `_nss_SERVICE_getspnam_r`, вызывается, но`_nss_SERVICE_getpwnam_r` не вызывается

Я создаю пользовательский модуль NSS. Мне удалось заставить его работать на моей локальной коробке Redhat 7.3, настроил nsswitch.conf правильно

passwd: files SERVICE
shadow: files SERVICE

и подтвердил, что оба _nss_SERVICE_getpwnam_r а также _nss_SERVICE_getspnam_r Вызваны с:

getenv passwd username
getenv shadow username

Но после того, как я скомпилировал и установил его на другую коробку, также RedHat 7.3, только _nss_SERVICE_getspnam_r получает успешно вызван. Я распечатываю логи, чтобы убедиться, что, пока glibc входит в функцию, будет трассировка, но все равно не получится _nss_SERVICE_getpwnam_r работать правильно. Должна быть какая-то другая конфигурация, которая переопределяет nssswitch.conf не там? Что может быть причиной этой проблемы?

1 ответ

Это было NSCD мешать. Он также кеширует негативные звонки.

Другие вопросы по тегам