Autenticación LDAP: Windows Server2k3 vs. 2k8

9

Tenemos alrededor del 70% de usuarios de Linux, todos los cuales están configurados para autenticarse en Active Directory a través de LDAP. Para que esto funcione, utilizamos los "Servicios de Windows para Unix" en Windows Server 2003, y todo funciona bien.

Ahora estamos en un punto en el que el servidor que ejecuta este dispositivo se está cansando un poco y será reemplazado por una máquina más nueva, que ejecuta Windows Server 2008 (donde los servicios relevantes, como el mapeo de nombres de usuario y los cambios de contraseña, etc., se integran con el sistema operativo).

Y aquí está el problema: si un nuevo usuario está configurado a través del servidor Win2k3, entonces todo funciona bien. Si se hace lo mismo a través del servidor Win2k8, entonces:

  1. El complemento ADS en el servidor 2k3 no lo reconoce y se comporta como si nunca se hubieran establecido los atributos de UNIX.
  2. El usuario no puede autenticarse contra ADS usando LDAP.

¿Alguien ha encontrado este problema? Si es así, ¿cómo superaste esto?

Si necesita información adicional para proporcionar más ayuda, solo pregunte y se la proporcionaré.

wolfgangsz
fuente

Respuestas:

3

La asignación de nombres LDAP ha cambiado entre Win2K3 y 2K8. La nueva asignación (para aplicar en /etc/ldap.conf) es:

nss_map_attribute uid sAMAccountName
nss_map_attribute uidNumber uidNumber
nss_map_attribute gidNumber gidNumber
nss_map_attribute cn sAMAccountName
nss_map_attribute uniqueMember member
nss_map_attribute userPassword msSFUPassword
nss_map_attribute homeDirectory unixHomeDirectory
nss_map_attribute loginShell loginShell
nss_map_attribute gecos cn
nss_map_objectclass posixGroup Group
nss_map_attribute shadowLastChange pwdLastSet

Por favor, avíseme si eso ayuda. Es posible que también tenga que migrar los usuarios antiguos: usaría ldapsearch y compararía usuarios nuevos y antiguos (pero creo que tendrán ambos atributos, si recuerdo)

Glen M
fuente
Gracias por el consejo, lo comprobaré. La migración no es un gran problema, porque tenemos todo esto empaquetado en un paquete local de Debian, que podemos actualizar y dejar que todos los usuarios sepan que simplemente deben actualizar sus máquinas.
wolfgangsz
Bueno, en realidad es un poco diferente (al menos en nuestro entorno: uid, uidNumber, gidNumber y cn no necesitan ningún mapeo (los nombres son idénticos), uniqueMember -> to msSFUPosixMember, userPassword -> msSFU30Password, y algunos otros cambios. Dicho, acepto la respuesta por señalarme en la dirección correcta.
wolfgangsz
1

He decidido publicar otra respuesta aquí, ya que este suele ser el lugar donde las personas encuentran la información que buscan.

Si bien todo lo anterior sigue siendo muy válido y verdadero, ahora he encontrado una manera mucho más fácil de conectar a mis clientes a través de AD. Debian squeeze (la última versión estable) contiene sssd (un paquete que se origina en el entorno redhat / fedora), lo que hace que todo esto sea muy sencillo. Después de la instalación, encuentra y sugiere controladores de dominio, y solo necesité cambiar muy pocas cosas en el archivo de configuración para que funcione para mí. Funciona perfectamente bien con Windows Server 2008, y también puede almacenar en caché las contraseñas (importante para los usuarios de computadoras portátiles).

wolfgangsz
fuente
wolfgangsz, ¿puedo contactarlo para obtener más información sobre sssd? ¿cómo?
pcharlesleddy