Изменить значение одного атрибута для нескольких UID одновременно в LDAP - PullRequest
0 голосов
/ 06 августа 2020

У меня есть список uid нескольких пользователей, присутствующих в LDAP, и мне нужно заменить значение одного атрибута для всех этих uid на новое значение. Есть ли способ выполнить sh это через Apache Directory Studio сразу, не редактируя каждую запись вручную. Я новичок в этом, и это не моя область знаний. Кроме того, мне известно только о Apache Directory Studio, чтобы поиграть со значениями LDAP. Если бы кто-то мог предоставить то же самое, было бы здорово.

1 Ответ

1 голос
/ 10 августа 2020

В Apache Directory Studio вы можете щелкнуть соединение правой кнопкой мыши и выбрать «Импорт», затем «Импорт LDIF». Файл будет выглядеть примерно так:

dn: cn=user1FQDN,ou=OrgUnit,o=MyOrg
changetype: modify
replace: TheAttribute
TheAttribute: NewValue
-

dn: cn=user2FQDN,ou=OrgUnit,o=MyOrg
changetype: modify
replace: TheAttribute
TheAttribute: NewValue
-

dn: cn=user3FQDN,ou=OrgUnit,o=MyOrg
changetype: modify
replace: TheAttribute
TheAttribute: NewValue
-

Когда я пытаюсь установить одно и то же значение для множества учетных записей, я собираю быстрый скрипт, чтобы получить список DN пользователей и написать остальное содержимое LDIF.

Где значение «dn» - это полное DN каждого пользователя, TheAttribute - это имя атрибута, который вы хотите обновить, а NewValue - это значение, которое вы хотите записать в TheAttribute.

Будьте осторожны при использовании LDIF для импорта изменений - вы можете довольно быстро внести много изменений, но вы также можете довольно быстро испортить множество учетных записей. Вы должны понимать разницу между «changetype: modify», который обновляет атрибут (обновление может заключаться в удалении атрибута, но changetype все еще изменяется) и «changetype: delete», который удаляет объект . Вы также захотите понять, как выполнять операции изменения / удаления. Использование «changetype: modify» с помощью простого «delete: TheAttribute» приведет к удалению всего в атрибуте:

dn: cn=user1FQDN,ou=OrgUnit,o=MyOrg
changetype: modify
delete: TheAttribute
-

Если вы хотите удалить одно значение многозначного атрибута, вам нужно использовать:

dn: cn=user1FQDN,ou=OrgUnit,o=MyOrg
changetype: modify
delete: TheAttribute
TheAttribute: ValueToDelete
-

Чтобы указать , какой Атрибут вы хотите удалить.

...