Ldapmodify shell

Fermé
gmartine - 25 nov. 2010 à 14:20
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 25 nov. 2010 à 14:48
Bonjour,

J'ai créer un fichier en faisant cette commande:

ldapsearch -x -h ldap.gi.utc -LL -b 'ou=people,dc=gi,dc=utc' '(ou=Heudiasyc-ASER)' uid
| grep uid: | sed -e 's/uid: \(.*\)/\1/' > logins_heudiasyc-aser

Mon fichier logins_heudiasyc-aser contient tous les uid qui appartiennent a heudiasyc-aser

voici maintenant mon script shell pour modifier les données dans le ldap:

////// Dans update_ldap_aser.sh ////////

for LOGIN in 'cat logins_heudiasyc-aser'; do

ldapmodify -x -D 'cn=admin, dc=gi, dc=utc' -w carn4bret -H 'ldap://ldap.gi.utc:389' <<EOF
dn: uid=$login,ou=people,dc=gi,dc=utc
changetype: modify
replace: Ou
Ou: Heudiasyc
-
add: Ou
Ou: ASER

EOF

done

Le problème c'est que je n'arrive pas à modifier toutes les entrées appartenant à ASER avec ma variable $login

j'arrive juste a faire une personne à la fois en écrivant ce script : uid= nom de la personne concerné

////// Dans update_ldap_aser.sh ////////

for LOGIN in 'cat logins_heudiasyc-aser'; do

ldapmodify -x -D 'cn=admin, dc=gi, dc=utc' -w carn4bret -H 'ldap://ldap.gi.utc:389' <<EOF
dn: uid=gmartine,ou=people,dc=gi,dc=utc
changetype: modify
replace: Ou
Ou: Heudiasyc
-
add: Ou
Ou: ASER

EOF

done

A voir également:

1 réponse

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417
25 nov. 2010 à 14:48
Salut,

Sur quel système ?
A quoi ressemble ton fichier logins_heudiasyc-aser ?

for LOGIN in 'cat logins_heudiasyc-aser'
C'est des quotes inverses autour de la commande "cat " ?

Si tu déclares "LOGIN" (en majuscule) comme variable et que tu mets "uid=$login", ça ne va pas le faire ;-((

0