Назад | Перейти на главную страницу

Как изменить значение атрибута для всех записей каталога ldap с помощью команды ldapmodify?

LDAP: как изменить значение атрибута для всех записей каталога с помощью команды ldapmodify? Ищете синтаксис, как показано ниже, во входном файле модификации для команды ldapmodify

dn: uid = *, ou = Люди, dc = example, dc = com
changetype: изменить
добавить: customerNumber
customerNumber: 12345
-
добавить: accountNumber
accountNumber: 12345

Это невозможно сделать с помощью только ldapmodify, но вы можете связать пару вещей вместе, чтобы сделать то, что вы просите. Следующий запуск ldapmodify для файла ldif, который мы создаем на лету из ldapsearch, плюс требуемые изменения.

ldapmodify -f <(ldapsearch -LLL -b ou=People,dc=example,dc=com -s one uid=* dn | sed 's/^$/add: customerNumber\ncustomerNumber: 12345\n-\nadd: accountNumber\naccountNumber: 12345\n-\n/' )

Примечание. Это дает всем совпадающим записям одинаковые customerNumber и accountNumber. Если это не то, что вам нужно, вам придется использовать что-то более сложное, чем sedвозможно awk или perl. Кроме того, это, вероятно, достаточно сложно, чтобы вы сначала захотели сделать это более чем в одной строке. Сделайте ldif, просмотрите, затем запустите ldapmodify.