Назад | Перейти на главную страницу

Общие сведения об аутентификации LDAP

В последние дни я возился с аутентификацией LDAP, и мне удалось настроить некоторые системы Linux (CentOS 6 и 7) для выполнения процесса аутентификации SSH на сервере OpenLDAP (который я также установил и настроил). Однако, несмотря на то, что все работает так, как я задумал, в процессе аутентификации LDAP есть что-то, что меня беспокоит.

Я не совсем понимаю, как PAM и NSS работают друг с другом и как они взаимодействуют друг с другом. Изучив тему, я пришел к выводу, что (Ссылка):

  1. NSS предлагает механизм службы имен для получения информации об имени пользователя и группы;
  2. PAM предлагает гибкий механизм аутентификации, используемый прикладным программным обеспечением, что предполагает обмен парольными данными.

Но каков процесс аутентификации? Как используются настроенные мной файлы / службы (/etc/nsswitch.conf, /etc/nslcd.conf, /etc/nscd.conf/, /etc/pam.d/password-auth) и в каком порядке?

Примечание: Если я удалю из nsswitch.conf строку, соответствующую теневой базе данных, процесс аутентификации по-прежнему будет работать без проблем. Это означает, что файл "nsswitch.conf" никогда не используется для получения источников для поиска паролей?

В зависимости от конфигурации LDAP не требует теневой базы данных. Есть два распространенных варианта:

  • Запрос подтверждает доступ к LDAP. Для этого необходимо передать идентификатор пользователя и пароль в LDAP, который примет или отклонит аутентификацию. Это будет использовать пароль непосредственно в LDAP, а не как поиск из теневых данных.
  • Используйте пользователя LDAP с правами поиска, чтобы получить доступ к паролю или хешу пароля и сопоставить пароль. В некоторых случаях это может использовать теневые данные или данные в поле пароля файла паролей.

NSS предоставляет доступ к ряду баз данных имен, таких как: passwd, хосты, службы и группы. Поиск может выполняться из множества источников, включая файлы и LDAP. Он может взаимодействовать с демоном кэширования для хранения локальных копий недавно использованных данных.

PAM обеспечивает аутентификацию на основе ряда правил. В зависимости от версии он может иметь отдельный модуль LDAP, или его модуль пароля будет знать LDAP и сможет аутентифицироваться по LDAP.