E-Mailadressen im Ldap anpassen

Liebe Wissende!
Ich arbeite mit 6.2 und würde gerne die E-Mailadressen im Ldap anpassen. Dass das schon einige Male hier Thema war, weiß ich aber ich finde dazu keine Anleitung bzw. Info…
Kann mir wer Hilfestellung geben?
Vielen Dank im Voraus und beste Grüße,
Alex

Hallo Alex,

„händisch“ geht das mit smbldap-usermod -M, siehe z.B. hier: Neue E-Mail Adressen (bei 6.2) in LDAP eintragen: wie?

Dort müssten auch Skripte zum Automatisieren verlinkt sein.

Viele Grüße
Andreas

Lieber Andreas!
Vielen Dank für deine Antwort. Das ist das, wonach ich gesucht habe.
Ein Problem habe ich allerding noch. Ich habe das Script von Tobias angepasst, aber ich bekomme immer beim Aufruf den Fehler: "failed to modify entry: mail: value #0: invalid syntax…

Hat da wer eine Idee, was ich da für einen Knoten drin hab, oder bin ich einfach zu dumm um ein Script aufzurufen… Muss ich da noch irgendetwas übergeben?
Bitte um Hilfe!

Danke euch!
LG,
Alex

Hallo Alex!

Verlinke doch mal das script oder besser füge es hier mittels code-Tags ein, dann wird es einfacher sich das anzuschauen:

[code]
...
[/code]

Beste Grüße

Thorsten

Hallo Thorsten!

Ich hab das einfach aus dem Post übernommen in das File mail.sh gespeichert.

#!/bin/bash                                                                                                                                                                             

sonderdomain="meineschule.de"
tmpmail=`mktemp`

function trim()
{   
    sed -e 's/^[[:space:]]*//g' -e 's/[[:space:]]*$//g'
}

while read line; do
    sonderemail=$(echo $line | cut -d ";" -f 6)
    vorname=$(echo $line | cut -d ";" -f 3 | tr A-Z a-z | trim)
    nachname=$(echo $line | cut -d ";" -f 2 | tr A-Z a-z | trim )
    username=$(echo $line | cut -d ";" -f 5 | tr A-Z a-z | trim )
    if [ $sonderemail == "---" ]; then
        sonderemail=${vorname:0:1}"."${nachname}"@"${sonderdomain}
    fi


    existingemail=$(ldapsearch -x "(&(objectClass=posixAccount)(uid=$username))" mail -LLL  | grep ^mail | cut -d " " -f 2 | trim)
    if [ -z $existingemail ]; then
        echo $username": no email entry -> " $sonderemail
        smbldap-usermod -M $sonderemail $username
    elif [ $existingemail != $sonderemail ]; then
        echo $username": $existingemail -> " $sonderemail
        smbldap-usermod -M $sonderemail $username
    else
#       echo $username ": - keine Aenderung"                                                                                                                                            
        x=1
    fi


done < /etc/sophomorix/user/lehrer.txt > $tmpmail

if [ -s $tmpmail ]; then
    mailx -u administrator -s "WARNUNG! Musste folgende Emails von Lehrern ändern!"  administrator < $tmpmail
fi
rm $tmpmail
```

Die Domain habe ich natülich angepasst. Der Rest sollte ja passen, oder!?
Dann hab ich das Script ausführbar gemacht und mit mail.sh gestartet. Dann kommt immer die Fehlermeldung

failed to modify entry: mail: value #0 invalid per syntax at /usr/sbin/smbldap-usermod line 785.

Hab ich da was übersehen?
Danke schon mal für die Hilfe!
Lg,
Alex

Hallo Alex!

Setze den Befehl mal bitte direkt an der Server Konsole ab. Ersetze dabei deine Wunschdaten in die $Variablen.

Eine Frage noch: Wie rufst du das Script auf?

Beste Grüße

Thorsten

Hallo Thorsten!
Das hab ich schon probiert. Das geht einwandfrei… :face_with_raised_eyebrow:
Komisch…

Ich hab einfach ./Mail.sh eingegeben. Ist das eh korrekt oder muss ich noch etwas beachten?

Ja, antwort folgt.

Teste mal die folgenden drei Zeilen auf der Server Konsole:

cut -d ";" -f 5 /etc/sophomorix/user/lehrer.txt | sed -e 's/^[[:space:]]*//g' -e 's/[[:space:]]*$//g'
cut -d ";" -f 2 /etc/sophomorix/user/lehrer.txt | sed -e 's/^[[:space:]]*//g' -e 's/[[:space:]]*$//g'
cut -d ";" -f 3 /etc/sophomorix/user/lehrer.txt | sed -e 's/^[[:space:]]*//g' -e 's/[[:space:]]*$//g'

Gibt es da Auffälligkeiten?

Liebe Grüße

Thorsten

Hi Thorsten!
Danke für die Antwort. Das hatte ich im Vorfeld schon getestet. Und jetzt nochmal…:slight_smile:
Sieht alles gut aus. Einmal bekomme ich die Vornamen, einmal die Nachnamen und einmal die Usernamen.
Einzig aufgefallen ist mir, dass Umlaute in Namen nicht korrekt dargestellt werden. Aber das kann ja nicht das Problem sein, oder…?
Liebe Grüße,
Alex

Hallo Thorsten!
Ich hab das Geheimnis jetzt gelüftet. Es waren tatsächlich die Umlaute im lehrer.txt file, die das Script zum Stolpern gebracht haben. Ich hab sie auf ue und oe und so weiter geändert. Jetzt geht alles.
Gibt es eigentlich einen Grund, warum die Mailadressen nicht im Lehrer.txt eingetragen sind bzw. wäre es sinnvoll?
Vielen Dank für deine Mühe!
Liebe Grüße,
Alex

Hallo!

Die Nutzerverwaltung hat sich ja mit unserer neuen 7 geändert. es wird also an der 6.2 auch keine Änderungen mehr geben.

By the way: Ich habe den Post mit der Lösung als solche markiert. Der Haken verstecken sich unter den drei Punkten […] neben dem Antworten-Pfeil.

Beste Grüße

Thorsten

Danke dir! :slight_smile:

Ich muss mich jetzt echt mal mit der 7 beschäftigen…