ich habe ein schönes Script geschrieben, welche vieleicht einige in Ihre Sammlung aufnehmen könnten. Ich habe jedoch ein kleines Problem damit und komme nicht weiter. Vielleicht sieht es von euch jemand auf den ersten Blick. Aktuell habe ich mein Script so geschrieben, dass alle Benutzer wleche noch nicht existieren, aus der CSV Datei gelesen und in meinem LDAP angelegt werden.
Code: Alles auswählen
function func-addusersldap2018 {
echo "" > add_contentu.ldif
while IFS=, read VARgivenname VARsurename VARuserid VARuseridn VARgroupidn VARpassword VARo VARstreet VARl VARst VARzip VARphone1 VARphone2 VARmobile VARmail
do
if [ -z "$VARmail" ]; then mail="#"; else mail="mail: $VARmail"; fi
if [ -z "$VARmobile" ]; then mobile="#"; else mobile="mobile: $VARmobile"; fi
if [ -z "$VARphone1" ]; then telephoneNumber="#"; else telephoneNumber="telephoneNumber: $VARphone1"; fi
if [ -z "$VARphone2" ]; then pager="#"; else pager="pager: $VARphone2"; fi
cat >> add_contentu.ldif << EOF
dn: cn=$VARgivenname $VARsurename,ou=Users,dc=domain,dc=net
objectclass: inetOrgPerson
objectclass: posixAccount
objectclass: top
uid: $VARuserid
givenname: $VARgivenname
sn: $VARsurename
cn: $VARgivenname $VARsurename
uidnumber: $VARuseridn
gidnumber: $VARgroupidn
userpassword: $VARpassword
$mail
$mobile
l: $VARl
o: $VARo
postalCode: $VARzip
st: $VARst
street: $VARstreet
$telephoneNumber
$pager
homedirectory: /home/users/$VARuserid
EOF
done < var_ldap_users2018.csv
ldapadd -x -c -D cn=admin,dc=domain,dc=net -W -f add_contentu.ldif
}
Ich habe das ganze so getestet. Jedoch erhalte ich immer wieder Fehler? Sieht jemand meinen Fehler?
Code: Alles auswählen
function func-addusersldap2018 {
echo "" > add_contentu.ldif
while IFS=, read VARgivenname VARsurename VARuserid VARuseridn VARgroupidn VARpassword VARo VARstreet VARl VARst VARzip VARphone1 VARphone2 VARmobile VARmail
do
if [ -z "$VARmail" ]; then mail="#"; else mail="mail: $VARmail"; fi
if [ -z "$VARmobile" ]; then mobile="#"; else mobile="mobile: $VARmobile"; fi
if [ -z "$VARphone1" ]; then telephoneNumber="#"; else telephoneNumber="telephoneNumber: $VARphone1"; fi
if [ -z "$VARphone2" ]; then pager="#"; else pager="pager: $VARphone2"; fi
cat >> add_contentu.ldif << EOF
dn: cn=$VARgivenname $VARsurename,ou=Users,dc=domain,dc=net
changetype: modify
replace: objectclass
objectclass: inetOrgPerson
objectclass: posixAccount
objectclass: top
replace: uid
uid: $VARuserid
replace: givenname
givenname: $VARgivenname
replace: sn
sn: $VARsurename
replace: cn
cn: $VARgivenname $VARsurename
replace: uidnumber
uidnumber: $VARuseridn
replace: gidnumber
gidnumber: $VARgroupidn
userpassword: $VARpassword
replace: mail
$mail
replace: mobile
$mobile
replace: l
l: $VARl
replace: o
o: $VARo
replace: postalCode
postalCode: $VARzip
replace: st
st: $VARst
replace: street
street: $VARstreet
replace: telephoneNumber
$telephoneNumber
replace: pager
$pager
homedirectory: /home/users/$VARuserid
EOF
done < var_ldap_users2018.csv
ldapmodify -x -c -D cn=admin,dc=domain,dc=net -W -f add_contentu.ldif
}
PS. Die Passwörter sollten nicht verändert werden.