Насколько я понимаю, ему дается пара имени пользователя и пароля, затем он ищет в LDAP имя пользователя и пытается войти в LDAP, используя отличительное имя и пару паролей, если это удается, то аутентификация успешна, если нет тогда это не так.
Так как это соотносится со схемой?
Существует ли абсолютно минимальная схема, которая требуется для PAM (например, что-то, что содержит только dn и пароль), или она настроена для поиска по конкретному имени поля для совпадения имени пользователя, а затем сравнения пароля с паролем в другом указанном поле?
Существуют схемы по умолчанию, которые вы можете использовать для этой цели, но если это действительно необходимо, вы можете настроить модуль LDAP, чтобы он точно указывал, где искать возможных пользователей. Как это делается, зависит от используемого модуля PAM (например, pam-ldap
, pam-ldapd
или sssd
).
Минимальное количество необходимых полей: имя пользователя, числовой uid, домашний каталог, оболочка и пароль.
Просто чтобы назвать одного, как насчет posixAccount
objectClass? В OpenLDAP входит nis
файл схемы:
olcObjectClasses: {0}( 1.3.6.1.1.1.2.0 NAME 'posixAccount' DESC 'Abstraction o
f an account with POSIX attributes' SUP top AUXILIARY MUST ( cn $ uid $ uidNu
mber $ gidNumber $ homeDirectory ) MAY ( userPassword $ loginShell $ gecos $
description ) )
как вспомогательный, вам по-прежнему нужен структурный объектный класс, person
например.