Dell Unity: V prostředí s více protokoly pomocí protokolu LDAP selže sdílený přístup z klientů Windows z důvodu, že není možné opravit uživatele mapování
Summary: Tento článek vysvětluje postup oddělení a řešení problému s nesprávným mapováním při použití protokolu LDAP, kde použitá metoda šifrování ovlivňuje mapování LDAP.
Symptoms
Protokol Unity LDAP je správně nakonfigurován, ale uživatelé nejsou mapováni.
Pokud pomocí příkazu LDAP Search vyhledáte uživatele na serveru LDAP, zobrazí se správně.
Příkaz:
ldapsearch -h <ldapserver ip> -D "<BindDN>" -w <Password> -b "<BaseDN>" -s <scope(base,one,sub)> "cn=<username>"
Příklad úspěšného příkazu:
--------------------- 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 ---------------------
Pokud však k vyhledávání uživatelů použijete příkaz SVC NAS, dojde k selhání s následující zprávou:
Příkaz:
svc_nas <server name> -ldap -lookup -user <user name>
Příklad neúspěšného příkazu:
--------------------- 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 --------------------- ---------------------
Kromě toho může neúspěšné uživatelské jméno po zadání uživatelského jména obsahovat nepotřebné znaky.
Příklad úspěšného příkazu:
--------------------- 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 podporuje "PBKDF2_SHA256", ale existuje omezení, součet [username + password + uid + gid] musí být v rozmezí 452 bajtů.
Při šifrování PBKDF2_SHA256 , pokud je pro heslo použito více bajtů, může být při přidání čísla uidNumber, gidNumber a uid k celkovému počtu překročen limit 452 bajtů.
Překročení limitu 452 bajtů způsobí selhání sdíleného přístupu z klientů Windows z důvodu žádného mapování v prostředí více protokolů LDAP.
Pokud například heslo zákazníka používá 447 bajtů, zbývající počet bajtů pro použití pro hodnoty uidNumber, gidNumber a uid je pouze 5 bajtů.
Příklad, který vyhovuje limitu 452 B:
userPassword= 404 Byte
uidNumber = 16 Byte
gidNumber = 16 Byte
uid = 16 Byte
Total = 452 Byte
Resolution
Zvažte použití jiného šifrovacího schématu než PBKDF2_SHA256, například SSHA-512.
Schémata šifrování LDAP podporovaná systémem Unity:
Od srpna 2022 jsou v nástroji OE 5.2:
SHA, SHA-256, SHA-384, SHA-512 k dispozici následující šifry SSHA, SSHA-256, SSHA-384, SSHA-512, MD5, SMD5, PKCS5S2, CRYPT, CRYPT-MD5, CRYPT-SHA-256, CRYPT-SHA-512, PBKDF2_SHA256**
**Při použití PBKDF2_SHA256 je součet [uživatelské jméno + heslo + uid + gid] omezen na 452 bajtů.