web-dev-qa-db-ja.com

ldapmodifyコマンドを使用してldapディレクトリのすべてのエントリの属性値を変更するにはどうすればよいですか?

LDAP:ldapmodifyコマンドを使用してディレクトリのすべてのエントリの属性値を変更するにはどうすればよいですか? ldapmodifyコマンドの変更入力ファイルで以下のような構文を探しています

dn:uid = *、ou = People、dc = example、dc = com
changetype:変更
追加:customerNumber
customerNumber:12345
-
追加:accountNumber
accountNumber:12345

1
Srini

これはldapmodifyだけでは実行できませんが、いくつかのことをつなぎ合わせて、要求していることを実行できます。以下は、ldapsearchからオンザフライで構築したldifファイルと必要な変更に対してldapmodifyを実行します。

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
84104