Understanding LDAP Authentication

During the last days I've been fiddling around with LDAP authentication and I've managed to configure some Linux systems (CentOS 6 and 7) to perform the SSH authentication process против сервера OpenLDAP (который я также установил и настроил). Однако, несмотря на то, что все работает так, как я предполагал, есть кое-что об аутентификации LDAP. process that is bugging me.

What I don't quite understand is how PAM and NSS work with each other and how they interact with one another. After researching about the theme, I came to the conclusion that (Reference):

  1. NSS offers a name service mechanism to obtain the user and group name information;
  2. PAM offers a flexible authentication mechanism used by the application software thus involves password data exchange.

But what is the authentication flow? How are the files/services that I configured used (/etc/nsswitch.conf, /etc/nslcd.conf, /etc/nscd.conf/, /etc/pam.d/password-auth) and in what order?

Note: If I remove from "nsswitch.conf" the line correspondent to the shadow database, the authentication process still works without any problem. This means that the file "nsswitch.conf" is never used for obtaining the sources for password lookups?

0
задан 28 July 2017 в 18:02
1 ответ

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

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

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

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

1
ответ дан 4 December 2019 в 16:11

Теги

Похожие вопросы