Dell Unity : Dans un environnement multiprotocole utilisant LDAP, l’accès partagé à partir des clients Windows échoue en raison de l’absence de mappage corrigible par l’utilisateur
Summary: Cet article explique comment séparer et contourner le problème de mappage incorrect lors de l’utilisation de LDAP où la méthode de chiffrement utilisée affecte le mappage LDAP.
Symptoms
Unity LDAP est configuré correctement, mais les utilisateurs ne sont pas mappés.
Si vous utilisez la commande de recherche LDAP pour rechercher des utilisateurs sur le serveur LDAP, ils s’affichent correctement.
Commande :
ldapsearch -h <ldapserver ip> -D "<BindDN>" -w <Password> -b "<BaseDN>" -s <scope(base,one,sub)> "cn=<username>"
Exemple de commande réussie :
--------------------- root@solaris11:~# ldapsearch -h 5.6.7.xxx -D "cn=admin,dc=peeps,dc=lab" -w Password123# -b "ou=people,dc=peeps,dc=lab" -s sub "cn=user1" version: 1 dn: uid=user1,ou=People,dc=peeps,dc=lab uid: user1 uidNumber: 1 gidNumber: 1 cn: user1 sn: user1 objectClass: top objectClass: person objectClass: posixAccount objectClass: shadowAccount loginShell: /bin/bash homeDirectory: /home/user1 You have new mail in /var/mail/root ---------------------
Toutefois, si vous utilisez la commande NAS SVC pour rechercher des utilisateurs, elle échoue avec le message suivant :
Commande :
svc_nas <server name> -ldap -lookup -user <user name>
Exemple d’échec d’une commande :
--------------------- service@********* spb:~/user# svc_nas nas_multi -ldap -lookup -user user2 nas_multi : commands processed: 1 command(s) succeeded output is complete 1659693343: LDAP: 6: LdapService::connect: Connection to Ldap server ***.***.***.*** SUCCEEDED IP[0/1]=***.***.***.*** port=389 1659693343: LDAP: 3: User user2t: User name + password + uid + gid are too large to fit into buffer. 1659693343: LDAP: 6: Unable to get information for user user2 --------------------- ---------------------
En outre, le nom d’utilisateur en échec peut contenir des caractères inutiles après le nom d’utilisateur.
Exemple de commande réussie :
--------------------- service@********* spb:~/user# svc_nas nas_multi -ldap -lookup -user user1 nas_multi : commands processed: 1 command(s) succeeded output is complete 1659694219: LDAP: 6: user: user1, uid: 12333, gid: 12333, homeDir: /home/user1 Command succeeded --------------------- ---------------------
Cause
Unity prend en charge « PBKDF2_SHA256 », mais il existe une restriction, la somme de [username + password + uid + gid] doit être comprise dans 452 octets.
Avec PBKDF2_SHA256 chiffrement, si de nombreux octets sont utilisés pour le mot de passe, la limite de 452 octets peut être dépassée lorsque les uidNumber, gidNumber et uid sont ajoutés au total.
Le dépassement de la limite de 452 octets entraîne l’échec de l’accès partagé à partir des clients Windows en raison de l’absence de mappage dans un environnement multiprotocole LDAP.
Par exemple, si le mot de passe du client utilise 447 octets, le nombre restant d’octets à utiliser pour uidNumber, gidNumber et uid n’est que de 5 octets.
Exemple qui s’insère dans la limite de 452 octets :
userPassword= 404 Octets
uidNumber = 16 Octets
gidNumber = 16 Octets
uid = 16 Octets
Total = 452 Octets
Resolution
Envisagez d’utiliser un schéma de chiffrement autre que PBKDF2_SHA256, par exemple, utiliser SSHA-512.
Schémas de chiffrement LDAP pris en charge par Unity :
À compter d’août 2022, les chiffrements suivants sont disponibles dans OE 5.2 :
SHA, SHA-256, SHA-384, SHA-512, SSHA, SSHA-256, SSHA-384, SSHA-512, MD5, SMD5, PKCS5S2, CRYPT, CRYPT-MD5, CRYPT-SHA-256, CRYPT-SHA-512, PBKDF2_SHA256***
* Lorsque vous utilisez PBKDF2_SHA256, la somme de [username + password + uid + gid] est limitée à 452 octets.