# E-Mailadressen im Ldap anpassen

**URL:** <https://ask.linuxmuster.net/t/e-mailadressen-im-ldap-anpassen/5532>\
**Category:** Benutzerverwaltung\
**Created:** [27. Mai 2020 um 08:31 UTC](https://ask.linuxmuster.net/t/e-mailadressen-im-ldap-anpassen/5532 "2020-05-27T08:31:43Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![raabi](https://ask.linuxmuster.net/letter_avatar_proxy/v4/letter/r/41988e/32.png) [@raabi](https://ask.linuxmuster.net/u/raabi)\
**Post date:** [27. Mai 2020 um 08:31 UTC](https://ask.linuxmuster.net/t/e-mailadressen-im-ldap-anpassen/5532/1 "2020-05-27T08:31:44Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![amu](https://ask.linuxmuster.net/letter_avatar_proxy/v4/letter/a/4da419/32.png) [@amu](https://ask.linuxmuster.net/u/amu)\
**Post date:** [27. Mai 2020 um 12:06 UTC](https://ask.linuxmuster.net/t/e-mailadressen-im-ldap-anpassen/5532/2 "2020-05-27T12:06:36Z")

</div>

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?](https://ask.linuxmuster.net/t/neue-e-mail-adressen-bei-6-2-in-ldap-eintragen-wie/4596)

Dort müssten auch Skripte zum Automatisieren verlinkt sein.

Viele Grüße  
Andreas

---

<div class="post-metadata">

**Author:** ![raabi](https://ask.linuxmuster.net/letter_avatar_proxy/v4/letter/r/41988e/32.png) [@raabi](https://ask.linuxmuster.net/u/raabi)\
**Post date:** [28. Mai 2020 um 10:57 UTC](https://ask.linuxmuster.net/t/e-mailadressen-im-ldap-anpassen/5532/3 "2020-05-28T10:57:52Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![MachtDochNix](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/machtdochnix/32/44_2.png) [@MachtDochNix](https://ask.linuxmuster.net/u/MachtDochNix)\
**Post date:** [28. Mai 2020 um 12:26 UTC](https://ask.linuxmuster.net/t/e-mailadressen-im-ldap-anpassen/5532/4 "2020-05-28T12:26:52Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![raabi](https://ask.linuxmuster.net/letter_avatar_proxy/v4/letter/r/41988e/32.png) [@raabi](https://ask.linuxmuster.net/u/raabi)\
**Post date:** [28. Mai 2020 um 20:09 UTC](https://ask.linuxmuster.net/t/e-mailadressen-im-ldap-anpassen/5532/5 "2020-05-28T20:09:28Z")

</div>

Hallo Thorsten!

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

````auto
#!/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

---

<div class="post-metadata">

**Author:** ![MachtDochNix](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/machtdochnix/32/44_2.png) [@MachtDochNix](https://ask.linuxmuster.net/u/MachtDochNix)\
**Post date:** [29. Mai 2020 um 05:25 UTC](https://ask.linuxmuster.net/t/e-mailadressen-im-ldap-anpassen/5532/6 "2020-05-29T05:25:50Z")

</div>

Hallo Alex!

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

> [@raabi](#):
>
> `smbldap-usermod -M $sonderemail $username`

Eine Frage noch: Wie rufst du das Script auf?

Beste Grüße

Thorsten

---

<div class="post-metadata">

**Author:** ![raabi](https://ask.linuxmuster.net/letter_avatar_proxy/v4/letter/r/41988e/32.png) [@raabi](https://ask.linuxmuster.net/u/raabi)\
**Post date:** [29. Mai 2020 um 05:48 UTC](https://ask.linuxmuster.net/t/e-mailadressen-im-ldap-anpassen/5532/7 "2020-05-29T05:48:44Z")

</div>

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

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

---

<div class="post-metadata">

**Author:** ![MachtDochNix](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/machtdochnix/32/44_2.png) [@MachtDochNix](https://ask.linuxmuster.net/u/MachtDochNix)\
**Post date:** [29. Mai 2020 um 06:30 UTC](https://ask.linuxmuster.net/t/e-mailadressen-im-ldap-anpassen/5532/8 "2020-05-29T06:30:43Z")

</div>

Ja, antwort folgt.

---

<div class="post-metadata">

**Author:** ![MachtDochNix](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/machtdochnix/32/44_2.png) [@MachtDochNix](https://ask.linuxmuster.net/u/MachtDochNix)\
**Post date:** [29. Mai 2020 um 07:19 UTC](https://ask.linuxmuster.net/t/e-mailadressen-im-ldap-anpassen/5532/9 "2020-05-29T07:19:41Z")

</div>

> [@raabi](#):
>
> `sed -e 's/^[[:space:]]*//g' -e 's/[[:space:]]*$//g'`

Teste mal die folgenden drei Zeilen auf der Server Konsole:

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

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

```auto
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

---

<div class="post-metadata">

**Author:** ![raabi](https://ask.linuxmuster.net/letter_avatar_proxy/v4/letter/r/41988e/32.png) [@raabi](https://ask.linuxmuster.net/u/raabi)\
**Post date:** [29. Mai 2020 um 08:26 UTC](https://ask.linuxmuster.net/t/e-mailadressen-im-ldap-anpassen/5532/10 "2020-05-29T08:26:09Z")

</div>

Hi Thorsten!  
Danke für die Antwort. Das hatte ich im Vorfeld schon getestet. Und jetzt nochmal…🙂  
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

---

<div class="post-metadata">

**Author:** ![raabi](https://ask.linuxmuster.net/letter_avatar_proxy/v4/letter/r/41988e/32.png) [@raabi](https://ask.linuxmuster.net/u/raabi)\
**Post date:** [29. Mai 2020 um 08:52 UTC](https://ask.linuxmuster.net/t/e-mailadressen-im-ldap-anpassen/5532/11 "2020-05-29T08:52:29Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![MachtDochNix](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/machtdochnix/32/44_2.png) [@MachtDochNix](https://ask.linuxmuster.net/u/MachtDochNix)\
**Post date:** [29. Mai 2020 um 09:11 UTC](https://ask.linuxmuster.net/t/e-mailadressen-im-ldap-anpassen/5532/12 "2020-05-29T09:11:27Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![raabi](https://ask.linuxmuster.net/letter_avatar_proxy/v4/letter/r/41988e/32.png) [@raabi](https://ask.linuxmuster.net/u/raabi)\
**Post date:** [29. Mai 2020 um 09:29 UTC](https://ask.linuxmuster.net/t/e-mailadressen-im-ldap-anpassen/5532/13 "2020-05-29T09:29:26Z")

</div>

Danke dir! 🙂

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