
テキスト ファイルから LDAP 内の特定のパターンを使用せずに多数のユーザー ログインを変更しようとしていますが、エラーが発生します。
これが私の試みです:
#!/bin/bash
for i in `cat users.txt`; do ldapmodify -h 10.X.X.X -p 389 -x -D "cn=admin" -w password; done << EOF
dn: cn=$i,ou=Userstomodify,o=wkd
changetype:modify
replace:telexnumber
telexnumber:19900101
EOF
ldapmodify
ターミナルでは手動では正常に動作しますが、このスクリプトでは動作しません。
答え1
コードが壊れています!
最初のユーザーだけではなく、users.txt 内のすべてのユーザーの LDAP エントリを変更したいのですよね?
これを試して:
#!/bin/bash
echo -n Password:
read -s password
for i in `cat users.txt`; do ldapmodify -h 10.X.X.X -p 389 -x -D "cn=admin" -w $password << EOF
dn: cn=$i,ou=Userstomodify,o=wkd
changetype:modify
replace:telexnumber
telexnumber:19900101
EOF
done