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

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

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

1
задан 6 March 2015 в 21:23
1 ответ

Этого нельзя сделать с помощью только 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.

1
ответ дан 4 December 2019 в 00:11

Теги

Похожие вопросы