Dell Unity: У багатопротокольному середовищі, що використовує LDAP, спільний доступ з клієнтів Windows завершується помилкою через те, що не можна виправити прив'язку користувача
Summary: У цій статті описано кроки для відокремлення та вирішення проблеми неправильного прив'язування під час використання LDAP, коли використаний метод шифрування впливає на прив'язку LDAP.
Symptoms
Unity LDAP налаштовано правильно, але прив'язку користувачів не встановлено.
Якщо для пошуку користувачів на сервері LDAP використовується команда «Пошук», вони відображаються належним чином.
Команда:
ldapsearch -h <ldapserver ip> -D "<BindDN>" -w <Password> -b "<BaseDN>" -s <scope(base,one,sub)> "cn=<username>"
Приклад успішної команди:
--------------------- 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 ---------------------
Однак, якщо для пошуку користувачів використовується команда SVC NAS, вона завершується помилкою з таким повідомленням:
Команда:
svc_nas <server name> -ldap -lookup -user <user name>
Приклад невдалої команди:
--------------------- 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 --------------------- ---------------------
Крім того, невдале ім'я користувача може містити непотрібні символи після імені користувача.
Приклад успішної команди:
--------------------- 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 підтримує "PBKDF2_SHA256", але є обмеження, сума [ім'я користувача + пароль + uid + gid] повинна бути в межах 452 байт.
При PBKDF2_SHA256 шифруванні, якщо для пароля використано багато байтів, обмеження у 452 байти може бути перевищено, якщо до загальної суми додано uidNumber, gidNumber та uid.
Перевищення 452-байтового обмеження спричиняє помилку спільного доступу від клієнтів Windows через відсутність прив'язки у багатопротокольному середовищі LDAP.
Наприклад, якщо пароль клієнта використовує 447 байтів, залишок байтів, який слід використати для uidNumber, gidNumber і uid, становитиме лише 5 байтів.
Приклад, який вписується в обмеження в 452 байти:
userPassword= 404 байти uidNumber = 16 байтів gidNumber = 16 байтів uid = 16 байтів
Всього = 452 байти
Resolution
Розгляньте можливість використання схеми шифрування, відмінної від PBKDF2_SHA256, наприклад, використовуйте SSHA-512.
Схеми шифрування LDAP, що підтримуються Unity:
Станом на серпень 2022 року наступні шифри доступні в 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****
При використанні PBKDF2_SHA256 сума [ім'я користувача + пароль + uid + gid] обмежена 452 байтами.