É possível desabilitar senhas ldap para um usuário sem desabilitar sua conta?

É possível desabilitar senhas ldap para um usuário sem desabilitar sua conta?

Temos um cluster que utiliza um domínio LDAP interno para autenticação de usuários que anteriormente utilizavam senhas armazenadas em LDAP. Agora movemos a máquina de login para usar krb5 para autenticação de senha em um kdc externo. Gostaríamos de remover as senhas LDAP locais, se pudermos. Existe um equivalente no ldap ao comando tradicional unix auth usermod -p '!' user?

Responder1

Para OpenLDAP,remova o userPasswordatributode cada conta de usuário.

Infelizmente não existem comandos padrão para gerenciar contas de usuários LDAP, então você precisará ldapsearch | awk/sed/grep | ldapmodifyou criar um script para a atualização em lote usando Perl/Python.

Alternativamente:Em vez de desabilitar totalmente a autenticação de senha LDAP, vocêpodefaça com que o servidor LDAP valide as senhas de ligação no Kerberos. Obviamente, isso não é tão bom quanto a autenticação Kerberos real (SASL GSSAPI), mas pode ser útil se você ainda tiver software que dependa da 'ligação simples' do LDAP.

Alterar o atributo de cada usuário userPasswordpara {SASL}user@REALM(contendo seu principal Kerberos) fará com que o OpenLDAP execute a validação de senha de passagem usando o daemon 'saslauthd' (do Cyrus SASL). Configure-o para ser iniciado como saslauthd -a krb5e ele verificará as senhas em seu Kerberos KDC.

Observe que saslauthdrequero sistema tenha um principal 'host/' em sua keytab de máquina (/etc/krb5.keytab).

informação relacionada