Автор Тема: samba AD параметры пользователя  (Прочитано 3921 раз)

ApB

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
samba AD параметры пользователя
« : 15 Апрель 2019, 16:46:55 »
Приветствую!

Если подключиться к SambaAD посредством ldap-браузера, то есть параметры типа title, mobile (страна, должность, организация ... ) и прочие. Эти параметры можно заплнить посредством карточки пользователя через RSAT, однако при попытке  экспортировать в схему через ldbmodify, получаю сообщение об отсутствии атрибута.

Как/посредством чего/куда экспортировать эти атрибуты?

В ldap (cn=users,dc=domain,dc=zn) таких атрибутов найти не удалось, или я что-то просмотрел?

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 486
    • Просмотр профиля
Re: samba AD параметры пользователя
« Ответ #1 : 16 Апрель 2019, 02:40:35 »
Здравствуйте! В принципе, стандартными средствами всё удалось добавить. Примерно так.

Сначала получим запись пользователя, убедимся, что атрибута 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

Всё в порядке.
Егор