Attribut "mail" im ldap-(AD)-Verzeichnis, Maildomain für Klassen

Liebe Leute,

in der Schulkonsole kann man die Maildomains von Lehrs und Schüls setzen. Bei uns ist das z.B. die Maildomain caponova.wara.de.

Das funktioniert auch astrein. Die Maildomains der Klasssen werden davon aber nicht berührt: die Maildomain von Klassen wird nach wie vor aus den DC-Komponenten des dn der Klasse gebildet.
Beispiel Klasse:

dn: CN=e3fi2,OU=e3fi2,OU=Students,OU=default-school,OU=SCHOOLS,DC=wara,DC=lan

mail: e3fi2@wara.lan

Beispiel ich:
dn: CN=dt,OU=Teachers,OU=default-school,OU=SCHOOLS,DC=wara,DC=lan

mail: dt@caponova.wara.de

Wie kann ich die Maildomain von Klassen auf den gewünschten Wert setzen?

Nur durch direktes Editieren des Verzeichnisses (AD)? Wenn ja, werde ich auch gleich die Werte von homeDrive von dt verschönern …

Viele Gruesse

Michael

Hi Michael,

Probiere mal den Befehl sophomorix-class --update-maildomain

VG, Dorian

Hallo Dorian,

sophomorix-class --update-maildomain macht genau das, was es nicht soll:

#### Updating CN=e3fi2,OU=e3fi2,OU=Students,OU=default-school,OU=SCHOOLS,DC=wara,DC=lan (start)####
* Setting mail to ‚e3fi2@wara.lan‘
#### Updating CN=e3fi2,OU=e3fi2,OU=Students,OU=default-school,OU=SCHOOLS,DC=wara,DC=lan (end)####

In meiner school.conf steht :
MAILDOMAIN=caponova.wara.de
aber nur bei role.student und role.teacher

viele gruesse
michael

Hallo Michael,

… da fehlt wohl noch was.
Du willst Mailinglisten verwenden: also dass man an
@maine.maildomain.de
schreiben kann.
Dein Mailserver kann das dann anhand der Informationen aus dem LDAP aufdröseln.
Es fehlt aber, dass der „KlassenAD Eintrag“ die richtige Domain hat: hab ich das richtig verstanden?

Das klingt nach einem Featurerequest.
Ich stups mal den Entwickler auf diesen Tread an.

LG

Holger

Das ist das Problem :smiley:
Muss auch bei type.project stehen.

VG, Dorian

1 „Gefällt mir“

Hallo Dorian,
das hilft leider nicht, die klassen haben nach wie vor die maildomain, die aus den DC-dns-labels gebildet wird.
ich habe es testweise auch bei type.adminclass eingetragen: auch dann wird es nicht fuer die klassen uebernommen.
Viele Grüsse
michael

Hi,

Eigentlich müsste es mit type.adminclass funktionieren:

Aber probiere mal noch type.teacherclass

VG, Dorian

Hallo Holger,

ja genau, ich habe nach einigen versuchen (ohne docker) einen extra v-host mit postfix, dovecot und sogo aufgesetzt, der mit virtuellen benutzern und maildomains arbeitet, also alle infos zu benutzern und domains vom ldap-verzeichnis vom server holt.

die maildomain der klassen braeuchte ich nun fuer mail-alias damit ich einfach maillinglisten bilden kann.
das wird aber nur beim versenden verwendet: die mailadresse der klasse soll nur ein alias fuer alle mitglieder der klasse sein. die klasse soll dabei kein eigenes postfach haben, deshalb brauche ich die korrekte mailadresse der klasse wahrscheinlich nicht, der klassenname sollte genuegen.

einige versuche spaeter:

ich habe das mit den mailinglisten nun direkt mit den bordmitteln von postfix geloest (die korrekte maildomain beim klassennamen braucht es fuer alias-zustellung ohnehin nicht).

hier die abfrage aus der /etc/postfix/ldap-aliases.cf - datei heraus:

query_filter = (&(objectClass=group)(samaccountname=%s))
result_attribute = sophomorixMembers

kann man mit postmap -q testen und das ganze liefert zu jeder klasse brav alle usernamen der schuels.

viele gruesse
michael

hallo Dorian,

vielen dank fuer die hilfe. das bei type.adminclass einzufuegen hatte ich auch getestet, die maildomains der klassen bleiben aber unberuehrt.

aber inzwischen habe ich mailinglisten direkt mit den virtual-maps von postfix eingerichtet. da ich das attribut mail aus dem ldap-verzeichnis nirgends verwende, spielt die maildomain dort keine rolle.

nur wenn man das evtl. spaeter auf viele verschiedene maildomains ausbauen wollte, waere es evtl. wichtig.

unten ist meine ldap-aliases.cf, falls jemand mailinglisten benoetigt (natuerlich macht ein mailserver in der schule erst mit mailinglisten sinn).

wer einen extra mail-host mit postfix/dovecot und ldap-anbindung an den schulserver (virtual user/maildomain) aufsetzen moechte kann mir gerne schreiben, dann kann ich vielleicht helfen.

viele gruesse

michael

##################################################################
#                                                                #
#    testen, ob query funktioniert:                              #
#    sudo postmap -q e3fi2 ldap:/etc/postfix/ldap-aliases.cf     #
#                                                                #
##################################################################
bind_dn = cn=<binduser>,OU=Management,OU=default-school,OU=SCHOOLS,DC=wara,DC=lan
bind_pw = <binduser-pwd>
server_host = 10.16.1.1
server_port = 389
search_base = OU=default-school,OU=SCHOOLS,DC=wara,DC=lan
version = 3
#query_filter = mail=%s                                                                                                                  
# infos zum query-filter:                                                                                                                
# aus man-page von ldap_table:                                                                                                           
#    search the directory, where %s is a                                                                                                 
#    substitute for the address Postfix is trying to resolve
# objectclass muss group sein, wir suchen klassen und keine einzeluser
query_filter = (&(objectClass=group)(samaccountname=%s))
result_attribute = sophomorixMembers

Hallo.

Kann man das nicht auch auf dem docker-mail-Container verwenden? Leider ist mir weiterhin nicht klar, welcher Ansatz der „offiziell empfohlene“ bgzl eines Mail-Servers sein soll …

Viele Grüße,
Michael

hallo Michael,

ich habe mich noch nie mit docker beschaeftigt, aber wenn im container postfix laeuft, muesste es sehr aehnlich konfiguriert werden: man betreibt einen mailserver mit virtuellen benutzern, d.h. benutzern, die auf dem mail-host kein konto haben.

ich wollte esmtp- und imap-zugang und ein webfrontend (sogo), deshalb habe ich alles selbst gestrickt.

viele gruesse
michael

Hi. Ich hatte schon vor längerer Zeit den docker-Container ausprobiert, den es „passend“ für den v7-Server gibt. Aber dabei gab es div. Fragen und Probleme, die ich bisher nicht klären konnte.

Die alte Diskussion ist hier:

und hier:

Wie ist das denn bei Deinem Setup z.B. bei Namensänderung/Hochzeit? Wird so etwas automatisch abgefangen (weil Du ja von „virtuellen Benutzern“ gesprochen hattest)?

Viele Grüße,
Michael

Hallo Michael,

die alte diskussion muss ich erst noch lesen. zu docker: https://youtu.be/eMvYJsjwT3Y

postfix und dovecot verlassen sich ausschliesslich auf das attribut „samaccountname“ im samba4-ldap-verzeichnis. auch die authentifizierung wird auf seiten von samba4 erledigt: postfix/dovecot schicken user-namen und passwort an den ldap-server von samba und wenn der meldet „authentifiziert!“, verlassen sich postfix und dovecot darauf.

wenn eine mail eintrifft, gleicht postfix den usernamen (der teil vor dem @) mit samaccountname aus dem ldap-verz. ab wenn es dort solch einen namen gibt, wird die mail ins Maildir kopiert. oder, wenn es die allererste mail fuer diesen user ist wird in z.b. /var/spool/vmail ein neues unterverzeichnis angelegt (unten ist ein beispiel).

bei namensaenderung haengt also alles davon ab, ob der benutzer von sophomorix einen neuen samaccountname erhaelt.

aendert sich bei jemandem „samaccountname“, bleibt das alte spool-verzeichnis erhalten. das gibt probleme, wenn benutzernamen = samaccountname(s) nach einiger zeit fuer neue schuels wiederverwendet werden. man muss also die spool-verzeichnisse von allen, die dauerhaft aus der schule ausscheiden loeschen. das geht einfach per skript, wenn man eine liste der abgaenger-samaccountnames hat.

meine mailinglisten scheinen praechtig zu funktionieren. neben allen klassen habe ich auch noch die liste teachers@ und sonstige gruppen im ldap-verz…

im gegensatz zu den alten listen sind wirklich nur die schuels auf den klassenlisten, keine lehrs mehr. d.h. man bekommt keinen backscatter von der liste.

viele gruesse
michael

#query_filter = mail=%s
# infos zum query-filter:
# aus man-page von ldap_table:
#    search the directory, where %s is a
#    substitute for the address Postfix is trying to resolve
query_filter = (&(objectclass=user)(samaccountname=%s))
result_attribute = samaccountname
#
# samaccountname um ein "/" ergaenzen, damit postfix das maildir-format nimmt:
result_format = %s/Maildir/

Hallo, bei meinem Testsystem tut das:

[type.adminclass]
# student classes from school administration software (created by students.csv, …)
MAILDOMAIN=web.de

Dann aufrufen:
sophomorix-class --update-maildomain

und siehe da:

sophomorix-class -i -c 7_a

liefert


                 mail: 7_a@web.de                              
  sophomorixMailQuota: ---:---:                                
  sophomorixMailAlias: FALSE                                   
   sophomorixMailList: FALSE                                   

@Micha, bitte noch mal nachvollziehen, ob das tatsächlich nicht tut.

LG, Rüdiger

hallo Rüdiger,

nein, tut leider nicht, siehe unten. oder habe ich die falsche school.conf?

viele gruesse
michael

in
/etc/linuxmuster/sophomorix/default-school/school.conf
habe ich den eintrag:

[type.adminclass]
MAILDOMAIN=caponova.wara.de

start des skripts:

sophomorix-class --update-maildomain

stdout:

#### Updating CN=2bkph1-1,OU=2bkph1-1,OU=Students,OU=default-school,OU=SCHOOLS,DC=wara,DC=lan (start)####
   * Setting mail to '2bkph1-1@wara.lan'
#### Updating CN=2bkph1-1,OU=2bkph1-1,OU=Students,OU=default-school,OU=SCHOOLS,DC=wara,DC=lan (end)####


#### Updating CN=2bkph1-2,OU=2bkph1-2,OU=Students,OU=default-school,OU=SCHOOLS,DC=wara,DC=lan (start)####
   * Setting mail to '2bkph1-2@wara.lan'
#### Updating CN=2bkph1-2,OU=2bkph1-2,OU=Students,OU=default-school,OU=SCHOOLS,DC=wara,DC=lan (end)####


#### Updating CN=2bkph2-1,OU=2bkph2-1,OU=Students,OU=default-school,OU=SCHOOLS,DC=wara,DC=lan (start)####
   * Setting mail to '2bkph2-1@wara.lan'
#### Updating CN=2bkph2-1,OU=2bkph2-1,OU=Students,OU=default-school,OU=SCHOOLS,DC=wara,DC=lan (end)####

… usw.

noch ein test:

sophomorix-class -i -c e3fi2
---------------------------------------------------------------------
                     mail: e3fi2@wara.lan                          
      sophomorixMailQuota: ---:---:                                
      sophomorixMailAlias: FALSE                                   
       sophomorixMailList: TRUE

Hallo micha.

Ok, das heißt dann auch, dass der Login der Kollegen ausschließlich über den samaccountname (=Login) läuft, während die eMail-Adresse selbst nicht zum Login verwendet werden kann, richtig? So war das imho auf dem docker Container bisher auch!

Wenn das so ist und man zudem bei Namensänderung beherzigt, nur den Nachnamen, nicht aber den Login zu verändern, müsste dieses Problem ja abgefangen sein?

Hast du als eMail-Adresse die Form vorname.nachname@deine-schule.de oder aber die ungünstigere Variante login@deine-schule.de?
Ich bevorzuge die erste Variante (Alias), damit man zuverlässig jeden Kollegen erreichen kann ohne vorher raten zu müssen …

Die Sache mit den Mailinglisten interessiert mich auch — wie gesagt: Die Objekte sind im AD ja alle bereits vorhanden. Man muss sie „nur“ noch nutzen.

Was das Abrufen der eMails angeht: Da würde ich das SoGo-Frontend auch dem Rainloop-Frontend deutlich bevorzugen. Leider ist das aber wieder ein extra Login mit neuer Oberfläche … von SSO leider nichts zu sehen …

Dazu würde ich gleich Mailcow als Docker-Container nehmen … ist aber wieder eine Großbaustelle für sich :frowning:

Viele Grüße,
Michael

hallo Michael,

ich habe im moment nur die canonischen mailadressen <samaccountname>@<maildomain>.

ja, mit virtual-alias-maps koennte man auch mailadressen der form
alfred.neuman@madschule.de erzeugen.
keine schlechte idee, hatte ich so noch gar nicht bedacht.

aber ich lass erstmal die kuerzel, da gibt’s dann auch keine umlaute, adelstitel usw. und weniger tipperei.

viele gruesse

michael

… das Problem mit Umlauten usw hat man normalerweise nicht, wenn man givenname.sn verwendet, oder? Doppelnamen könnten noch ein Problem sein…

@Michael
Es gibt die Attribute sophomorixFirstnameACII, oder so. Schau die mal an, ob die passen, sn,givenname sind UTF8

LG, Rüdiger

Hallo Rüdiger (@jeffbeck)

Ich habe die Attribute gefunden:
sophomorixFirstnameASCII
sophomorixSurnameASCII

Es ist trotzdem noch nicht alles perfekt … ein Problem sind Leute mit Doppelnamen (und zwar egal ob Vor- oder Nachname). Die haben dann u.U. eine endlos lange eMail-Adresse … zudem weiß ich weiterhin nicht, ob die Eindeutigkeit der Adresse überhaupt gewährleistet ist!? Beim Login ist es ja kein Problem, da
Max Mustermann (5a) zu musmax wird, während
Max Mustermann (5b) zu musmax1 wird.

Allerdings hätten beide die gleiche eMail-Adresse, oder? Wer würde eine eMail an max.mustermann@meine-domain.de dann erhalten? Funktioniert so jedenfalls nicht zuverlässig, oder??

Viele Grüße,
Michael