¿Es posible desactivar las contraseñas ldap de un usuario sin desactivar su cuenta?

¿Es posible desactivar las contraseñas ldap de un usuario sin desactivar su cuenta?

Tenemos un clúster que utiliza un dominio LDAP interno para la autenticación de usuarios que anteriormente usaba contraseñas almacenadas en LDAP. Ahora hemos movido la máquina de inicio de sesión para usar krb5 para la autenticación de contraseña contra un kdc externo. Nos gustaría eliminar las contraseñas LDAP locales si podemos. ¿Existe un equivalente en ldap al comando de autenticación tradicional de Unix usermod -p '!' user?

Respuesta1

Para OpenLDAP,eliminar el userPasswordatributode cada cuenta de usuario.

Lamentablemente, no existen comandos estándar para administrar cuentas de usuario LDAP, por lo que necesitará ldapsearch | awk/sed/grep | ldapmodifyo programar la actualización por lotes utilizando Perl/Python.

Alternativamente:En lugar de desactivar por completo la autenticación de contraseña LDAP,poderHaga que el servidor LDAP valide las contraseñas de enlace con Kerberos. Por supuesto, esto no es tan bueno como la autenticación Kerberos real (SASL GSSAPI), pero puede ser útil si todavía tiene software que depende del 'enlace simple' LDAP.

Cambiar el atributo de cada usuario userPassworda {SASL}user@REALM(que contiene su principal Kerberos) hará que OpenLDAP realice una validación de contraseña de paso utilizando el demonio 'saslauthd' (de Cyrus SASL). Configúrelo para que se inicie saslauthd -a krb5y verificará las contraseñas con su KDC Kerberos.

Tenga en cuenta que saslauthdrequiereque el sistema tenga un principal 'host/' en la tabla de claves de su máquina (/etc/krb5.keytab).

información relacionada