Можно ли отключить пароли LDAP для пользователя, не отключая его учетную запись?

Можно ли отключить пароли LDAP для пользователя, не отключая его учетную запись?

У нас есть кластер, который использует внутренний домен LDAP для аутентификации пользователей, который ранее использовал пароли, хранящиеся в LDAP. Теперь мы переместили машину входа на использование krb5 для аутентификации паролей через внешний kdc. Мы хотели бы удалить локальные пароли LDAP, если это возможно. Есть ли в ldap эквивалент традиционной команде unix auth usermod -p '!' user?

решение1

Для OpenLDAP,удалить userPasswordатрибутс каждой учетной записи пользователя.

К сожалению, стандартных команд для управления учетными записями пользователей LDAP не существует, поэтому вам придется ldapsearch | awk/sed/grep | ldapmodifyнаписать скрипт пакетного обновления с использованием Perl/Python.

Альтернативно:Вместо того, чтобы полностью отключить аутентификацию по паролю LDAP, выможетпусть сервер LDAP проверяет пароли привязки с помощью Kerberos. Конечно, это не так хорошо, как фактическая аутентификация Kerberos (SASL GSSAPI), но это может быть полезно, если у вас все еще есть программное обеспечение, которое полагается на LDAP 'simple bind'.

userPasswordИзменение атрибута каждого пользователя на {SASL}user@REALM(содержащий их принципала Kerberos) заставит OpenLDAP выполнять сквозную проверку пароля с использованием демона 'saslauthd' (из Cyrus SASL). Настройте его для запуска как , saslauthd -a krb5и он будет проверять пароли с помощью вашего Kerberos KDC.

Обратите внимание, что saslauthdтребуетсистема должна иметь принципал «host/» в своей машинной таблице ключей (/etc/krb5.keytab).

Связанный контент