В последние дни я возился с аутентификацией LDAP, и мне удалось настроить некоторые системы Linux (CentOS 6 и 7) для выполнения процесса аутентификации SSH на сервере OpenLDAP (который я также установил и настроил). Однако, несмотря на то, что все работает так, как я задумал, в процессе аутентификации LDAP есть что-то, что меня беспокоит.
Я не совсем понимаю, как PAM и NSS работают друг с другом и как они взаимодействуют друг с другом. Изучив тему, я пришел к выводу, что (Ссылка):
Но каков процесс аутентификации? Как используются настроенные мной файлы / службы (/etc/nsswitch.conf, /etc/nslcd.conf, /etc/nscd.conf/, /etc/pam.d/password-auth) и в каком порядке?
Примечание: Если я удалю из nsswitch.conf строку, соответствующую теневой базе данных, процесс аутентификации по-прежнему будет работать без проблем. Это означает, что файл "nsswitch.conf" никогда не используется для получения источников для поиска паролей?
В зависимости от конфигурации LDAP не требует теневой базы данных. Есть два распространенных варианта:
NSS предоставляет доступ к ряду баз данных имен, таких как: passwd, хосты, службы и группы. Поиск может выполняться из множества источников, включая файлы и LDAP. Он может взаимодействовать с демоном кэширования для хранения локальных копий недавно использованных данных.
PAM обеспечивает аутентификацию на основе ряда правил. В зависимости от версии он может иметь отдельный модуль LDAP, или его модуль пароля будет знать LDAP и сможет аутентифицироваться по LDAP.