Dell Unity: W środowisku wieloprotokołowym korzystającym z LDAP, wspólny dostęp od klientów Windows kończy się niepowodzeniem z powodu braku możliwości naprawienia przez użytkownika mapowania
Summary: W tym artykule wyjaśniono kroki, które należy wykonać, aby oddzielić i obejść problem nieprawidłowego mapowania podczas korzystania z protokołu LDAP, gdzie użyta metoda szyfrowania wpływa na mapowanie LDAP. ...
Symptoms
Unity LDAP jest prawidłowo skonfigurowana, ale użytkownicy nie są mapowane.
Jeśli użyjesz polecenia wyszukiwania LDAP do wyszukiwania użytkowników na serwerze LDAP, są one wyświetlane prawidłowo.
Polecenie:
ldapsearch -h <ldapserver ip> -D "<BindDN>" -w <Password> -b "<BaseDN>" -s <scope(base,one,sub)> "cn=<username>"
Przykład pomyślnego wykonania polecenia:
--------------------- 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 ---------------------
Jeśli jednak użyjesz polecenia SVC NAS do wyszukiwania użytkowników, komunikat nie powiedzie się z następującym komunikatem:
Polecenie:
svc_nas <server name> -ldap -lookup -user <user name>
Przykład nieudanego polecenia:
--------------------- 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 --------------------- ---------------------
Ponadto uszkodzona nazwa użytkownika może zawierać niepotrzebne znaki po nazwie użytkownika.
Przykład pomyślnego wykonania polecenia:
--------------------- 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 obsługuje "PBKDF2_SHA256", ale istnieje ograniczenie, suma [nazwa użytkownika + hasło + uid + gid] musi znajdować się w 452 bajtach.
W przypadku szyfrowania PBKDF2_SHA256, jeśli hasło jest używane z wieloma bajtami, limit 452-bajtowy może zostać przekroczony, gdy do całkowitej wartości zostaną dodane identyfikatory uidNumber, gidNumber i uid.
Przekroczenie limitu 452-bajtowego powoduje niepowodzenie dostępu współdzielonego z klientów Windows z powodu braku mapowania w środowisku wieloprotokołowym LDAP.
Na przykład, jeśli hasło klienta używa 447 bajtów, pozostała liczba bajtów do użycia dla uidNumber, gidNumber i uid to tylko 5 bajtów.
Przykład, który pasuje do limitu 452-bajtowego:
userPassword = 404 Bajt
uidNumber = 16
bajtów gidNumber = 16 bajtów
uid = 16 bajtów
łącznie = 452 bajtów
Resolution
Rozważ użycie schematu szyfrowania innego niż PBKDF2_SHA256, na przykład użyj SSHA-512.
Schematy szyfrowania LDAP obsługiwane przez Unity:
Od sierpnia 2022 r. następujące szyfry są dostępne w 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**
** Podczas korzystania z PBKDF2_SHA256 suma [nazwa użytkownika + hasło + uid + gid] jest ograniczona do 452 bajtów.