LDAP: Как изменить значение атрибута для всех записей каталога с помощью ldapmodify команду? Поиск некоторого синтаксиса как ниже в модификации ввел файл для команды ldapmodify
dn: uid = *, ou=People, dc=example, dc=com
тип изменения: изменить
добавьте: 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.