Форум проекта Pro-LDAP.ru
Интеграция => Samba => Тема начата: ApB от 15 Апрель 2019, 16:46:55
-
Приветствую!
Если подключиться к SambaAD посредством ldap-браузера, то есть параметры типа title, mobile (страна, должность, организация ... ) и прочие. Эти параметры можно заплнить посредством карточки пользователя через RSAT, однако при попытке экспортировать в схему через ldbmodify, получаю сообщение об отсутствии атрибута.
Как/посредством чего/куда экспортировать эти атрибуты?
В ldap (cn=users,dc=domain,dc=zn) таких атрибутов найти не удалось, или я что-то просмотрел?
-
Здравствуйте! В принципе, стандартными средствами всё удалось добавить. Примерно так.
Сначала получим запись пользователя, убедимся, что атрибута mobile в ней нет:
$ ldapsearch -LLL -o ldif-wrap=no -Y GSSAPI -b cn=Users,dc=somedomen,dc=ins '(samaccountname=babkina)' objectClass mobile | perl -MMIME::Base64 -wpe 's/^([^:]+):: (.+)$/"$1: " . decode_base64($2)/e'
SASL/GSSAPI authentication started
SASL username: egor@SOMEDOMEN.INS
SASL SSF: 56
SASL data security layer installed.
dn: CN=Бабкина Ирина Владимировна,CN=Users,DC=somedomen,DC=ins
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
perl я использовал для раскодировки base64, то есть для красивого вывода, особо он не нужен.
Составляем LDIF для модификации пользователя (добавление атрибута mobile):
$ cat /tmp/babkina.ldif
dn: CN=Бабкина Ирина Владимировна,CN=Users,DC=somedomen,DC=ins
changetype: modify
add: mobile
mobile: 8-999-999-99-99
Применяем LDIF с помощью ldapmodify:
$ ldapmodify -Y GSSAPI -f /tmp/babkina.ldif
SASL/GSSAPI authentication started
SASL username: egor@SOMEDOMEN.INS
SASL SSF: 56
SASL data security layer installed.
modifying entry "CN=Бабкина Ирина Владимировна,CN=Users,DC=somedomen,DC=ins"
Проверяем запись после изменения:
$ ldapsearch -LLL -o ldif-wrap=no -Y GSSAPI -b cn=Users,dc=somedomen,dc=ins '(samaccountname=babkina)' objectClass mobile | perl -MMIME::Base64 -wpe 's/^([^:]+):: (.+)$/"$1: " . decode_base64($2)/e'
SASL/GSSAPI authentication started
SASL username: egor@SOMEDOMEN.INS
SASL SSF: 56
SASL data security layer installed.
dn: CN=Бабкина Ирина Владимировна,CN=Users,DC=somedomen,DC=ins
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
mobile: 8-999-999-99-99
Всё применилось.
То же самое с помощью ldbmodify. Добавим атрибут telephoneNumber. Сначала LDIF:
$ cat /tmp/babkina2.ldif
dn: CN=Бабкина Ирина Владимировна,CN=Users,DC=somedomen,DC=ins
changetype: modify
add: telephoneNumber
telephoneNumber: 8-800-800-80-80
Применим его с помощью ldbmodify:
$ ldbmodify -H ldap://localhost -U egor /tmp/babkina2.ldif
Password for [SOMEDOMEN\egor]:
Modified 1 records successfully
Проверим результат:
$ ldapsearch -LLL -o ldif-wrap=no -Y GSSAPI -b cn=Users,dc=somedomen,dc=ins '(samaccountname=babkina)' objectClass mobile telephoneNumber | perl -MMIME::Base64 -wpe 's/^([^:]+):: (.+)$/"$1: " . decode_base64($2)/e'
SASL/GSSAPI authentication started
SASL username: egor@SOMEDOMEN.INS
SASL SSF: 56
SASL data security layer installed.
dn: CN=Бабкина Ирина Владимировна,CN=Users,DC=somedomen,DC=ins
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
mobile: 8-999-999-99-99
telephoneNumber: 8-800-800-80-80
Всё в порядке.
Егор