LDAP:ldapmodifyコマンドを使用してディレクトリのすべてのエントリの属性値を変更するにはどうすればよいですか? ldapmodifyコマンドの変更入力ファイルで以下のような構文を探しています
dn:uid = *、ou = People、dc = example、dc = com
changetype:変更
追加:customerNumber
customerNumber:12345
-
追加:accountNumber
accountNumber:12345
これは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を実行します。