E-Mail-Adressen fliegen immer wieder aus dem LDAP

Hallo Holger,

hast du das auf der console oder in der Schulkonsole gemacht?
Gerade sieht es mir nämlich nach einem SchulkonsolenBUG aus.

alles auf der Konsole. Und es ist reproduzierbar.

Viele Grüße
Steffen

Hallo Sebastian,

also „sophomorix-quota --set -t“ alleine schmeisst das „mail:“-Attribut
auch weg.

das ist doch mal eine Info :slight_smile:

genau das habe ich bei mir jetzt mal getestet:
Maileintrag mittels
smb-ldap-usershow baumhof | grep mail
angeschaut: ist da.
Dann
sophomorix-quota --set -t
Und danach wieder:
smb-ldap-usershow baumhof | grep mail
: email steht noch drin.

Paketversionen:
dpkg -l | grep sophomorix

ii sophomorix-base 2.4.59-2
scripts for sophomorix
ii sophomorix-dump 3.5.1-1
Migration dump script
ii sophomorix-pgldap 2.4.59-2
postgresql database with ldap access for sophomorix
ii sophomorix2 2.4.59-2
sophomorix user adminitration meta package

Welche habt ihr?

Viele Grüße

Holger

Hallo Holger,

ich habe exakt dieselben sophomorix Versionen wie du. Bei mir schmeißt

sophomorix-quota --set -t

alle Mailadressen der Lehrer aus dem Ladp, genau wie bei den zwei
anderen Betroffenen.
Ein

sophomorix-dump-pg2ldap

bringt sie wieder zurück.

Jetzt sollten wir mal schauen, was bei dir anders läuft als bei uns.
Können wir morgen mal debuggen :-).

Gruß

Dominik

Hallo,

das Problem besteht bei mir noch immer, siehe mein (vorschnelles, von mir nich mehr löschbares) Posting Beim Benutzeranlegen fliegen E-Mail-Adressen aus dem LDAP.

Gibt es da inzwischen eine Lösung?

Viele Grüße
Steffen

Hallo,

ich pushe das nochmal nach oben, denn nachdem ich vor den Ferien mal wieder was am Quota verändert habe und sophomorix-quota --set habe lauden lassen, waren wieder ALLE Mailadressen aus dem LDAP weg. Leider hatte ich nicht mehr auf dem Schirm, dass das nicht nur beim Benutzeranlegen passiert, weshalb sich wieder niemand mehr an Moodle anmelden kann, da dort Mail verlangt wird.

Besteht das Problem bei anderen auch immer noch? Gibt es schon eine Lösung oder inzwischen ein Ticket?

Viele Grüße
Steffen

Hallo Steffen,

ich habe anscheinend das Problem (mit lmn 6.2.9), dass mittels /usr/sbin/smbldap-usermod -M ... eingetragene externe Mailadressen ebenfalls herausfliegen (mail: ist danach leer), wenn der betreffende User sein Passwort in der Schulkonsole ändert, muss das aber mal noch genauer untersuchen. (Unter 6.1. war, glaube ich, danach eine Mailadresse mit lokaler Domain eingetragen…)

Andreas

Nachtrag: Ich hab’s jetzt nochmal schrittweise nachvollzogen:
Es zeigt sich tatsächlich folgendes Verhalten bei einem Testbenutzer (xxx aus Gruppe teachers):

  1. sophomorix-dump-pg2ldap trägt die Mailadresse xxx@schule.local ein
  2. Mit /usr/sbin/smbldap-usermod -M x_xyz@unsere-schule.de xxx trage ich eine externe Adresse ein.
  3. Wenn der Benutzer xxx sein Passwort in der Schulkonsole ändert, ist danach mail: leer, die Adressen der anderen bleiben erhalten.

Nachtrag II: Auch die lokale Adresse (aus Schritt 1.) fliegt bei Passwortänderung (Schritt 3.) raus

Hallo,

nachdem mir mein Mit-Administrator heute erzählt hat, dass er sich seine Quota in der Schulkonsole selber hochgesetzt hat, habe ich ihn einmal mit smbldap-usershow überprüft und seine Maileintrag war leer, bei allen anderen Usern die ich überprüft habe war er da. Ein sophomorix-dump-pg2ldap hat den Eintrag dann zurückgebracht. das Problem besteht bei mir weiterhin.
Ich habe folgende Versionen von Sophomorix installiert:

16:47/0 server ~ # dpkg -l | grep sophomorix
ii sophomorix-base 2.4.59-2 scripts for sophomorix
ii sophomorix-pgldap 2.4.59-2 postgresql database with ldap access for sophomorix
ii sophomorix2 2.4.59-2 sophomorix user adminitration meta package

Das sind die selben Versionen wie bei Holger in seinem Beitrag vom 4. April, allerdings fehlt bei mir das sophomorix-dump Script, das bei ihm noch auftaucht.

Viele Grüße
Friedrich

Mein öffentlicher PGP-Key ist hier hinterlegt: pool.sks-keyservers.net

Das konnte ich soeben auch nachvollziehen. D.h. bei mir entfernt die Passwortänderung in der Schulkonsole das mail-Attribut eines einzelnen Benutzers (egal ob Lehrer oder Schüler) und sophomorix-quota --set wirft es für alle weg (außer bei denen, die momentan noch „tolerated“ sind).

Das ist wohl kaum ein gewolltes Feature, oder?

sophomorix-Version ist 2.4.59-2 wie bei @fruff und auch @baumhof, wobei Holger das Problem aber wohl nicht beobachtet.

Unter 6.1 (was wir bis vor Ostern noch hatten, dann wurde endlich mal auf 6.2 aktualisiert) wurde bei der Passwortänderung noch eine mittels smbldap-usermod eingetragene Adresse durch die interne Standardadresse ersetzt.

Viele Grüße

Andreas

Hallo,
ich wollte mich nach dem aktuellen Stand dieses Problems erkundigen. Vermutlich ist mein System auch betroffen (Linuxmuster 6.2, sophomorix 2.4.59-2), zumindest sind auch bei mir fast alle email Adressen weggewesen (ich hatte die quotas auf der Schulkonsole geändert).
Ich wollte mir zu diesem Zweck im Bugtracker anschauen, ob es ein Ticket und Lösungen gibt, aber ich habe den Bugtracker für Linuxmuster.net nicht gefunden…Wo finde ich den?

Danke für die Infos.
Viele Grüße
Markus

Hallo Markus!

Schau mal auf Github nach.

Beste Grüße

Thorsten

Danke für den Hinweis Thorsten,
unter https://github.com/linuxmuster/sophomorix4/
finde ich nichts entsprechendes.
Wurde damals kein Ticket erstellt? Wie sieht es aktuell aus, besteht dieses Problem noch?
Danke für die Infos

Viele Grüße

Markus

Hallo Markus!

Ich kümmere mich drum, melde mich sobald ich mehr weiß.

Beste Grüße

Thorsten

Hallo zusammen,

nun waren wir auch betroffen, bemerkt habe ich es, weil im Horde-Adressbuch niemand mehr zu finden war. Nach längerem Debuggen war der Schuldige gefunden:

In der Datei /usr/share/perl5/Sophomorix/SophomorixPgLdap.pm fehlen in Zeile 5977 Klammern, das “and” hat eine niedrigere Priorität als das Fragezeichen.

Falsch:
my $mail=(defined $mymail and $mymail ne ""? $mymail : $uid."@".$mail_dom);

Richtig:
my $mail=( (defined $mymail and $mymail ne "") ? $mymail : $uid."@".$mail_dom);

Dann klappt es wieder mit der Mail-Adresse im Ldap.

Beste Grüße

Jörg

Hallo Jörg!

Wow und danke! @jeffbeck bitte übernehmen sie:

Beste Grüße

Thorsten

Ein neues Paket sophomorix mit dem Fix von jrichter ist erstellt und wird gerade noch von Holger getestet.

LG, Rüdiger

Hallo zusammen,

ich finde es toll, dass so eine Geschichte letztendlich gefixt wird! Danke.
ich habe das neue paket vermutlich auch über babo-testing reinbekommen und teste gerade den dump-pg2ldap und dann erstelle ich mal einen benutzer.

Allerdings bin ich mal wieder dement, was die Umsetzung von Mail angeht und finde die entsprechende Doku nicht.
Es gibt meiner Ansicht drei Szenarien für den Mail-Eintrag:

  1. nichts steht im “mail” - Feld von LDAP
  2. benutzername@eingerichtete-linuxmuster-domäne steht in “mail”
  3. benutzername@alternative-domäne steht in “mail”

Es gibt natürlich auch noch andere Szenarien.
Ich hätte gerne den Eintrag:

nichtbenutzername@alternative-domäne in “mail” stehen und weiß nicht so recht, wie das funktioniert, ichkann mit Hilfe eines Skripts das jetzt für die 80 Lehrer von Hand machen, aber ich frage mich, ob mein Szenario oben abgedeckt ist, d.h. kann ich irgendwie abstellen, dass bei mir der Eintrag “mail” dann nicht mehr angerührt wird? Oder sollte das schon so sein?

Das Skript von Jörg hab ich übrigens gefunden:
http://www.linuxmuster.net/forum/forum.php?req=search&Query=AddMail2LDAP&ResultView=2&InSubject=1&InMessage=1&Sort=2&DateFrom=&DateUntil=&Forum=0
wird referenziert auf: https://www.linuxmuster.net/wiki/_media/moodle:addmail2ldap.sh.zip

Ich kann zu dem Paket 2.4.60-2 so viel sagen:

  • nach einem sophomorix-dump-pg2ldap haben alle meine 1062 User eine Mailadresse, die zur konfigurierten Domäne passt.
  • ichkann einen nutzer erstellen, der hat die mailadresse auch eingetragen UND alle 1062 nutzer haben weiterhin ihre Adresse.
  • passwortänderung des neuen users, sowie quota-änderung der betreffenden klasse hat auch nichts an der situation geändert.

Für mich scheint das Paket zu tun, was es sollte. Die anderen, die Probleme hatten, sollten vllt. ihr testszenario noch Holger nennen, das ich jetzt nicht mitgemacht habe.
VG, tobias

Also mit Sicherheit wird mein Szenario nicht abgedeckt.
Ich will es nämlich so haben:

  • Für Schüler soll benutzername@meine.schule-bw.de im LDAP stehen, weil die das dann in Medienbildung in 5 verwenden können. Diese Domäne haben wir intern wie extern an der Schule.
  • Für Lehrer soll anderen-mailname@meine-schule.de stehen, weil wir unseren Provider bei belwue haben und dort eine andere Domäne.

Ich werde also für die Schüler glücklich, für die Lehrer lege ich mir eine eigene Datenbank an mit e-mail-adressen, die nacht für nacht am besten smbldap-usermod -M anderer-mailname@meine-schule.de benutzername für die Lehrer ausführt, so dass in der Nextcloud usw. immer die richtige Mailadresse steht.

Vg, Tobias

Hallo Tobias,

ich weiß nicht ob ich dich richtig verstanden habe, aber bei mir trage
ich die email Adressen mit Jörgs script ein: und die werden dank dem
neuen Paket, nicht mehr angerührt.

LG

Holger

Hi Holger,

auch wenn sophomorix-dump-pg2ldap ausgeführt wird? Da ist dann bei mir wieder das drin, was das System für Schüler will… Aber egal. Ich hab jetzt ein cron-job der das nächtlich macht und mir ne Mail schickt, wenn was geändert werden musste. So werd ich mal schauen ob in den nächsten Wochen sich was ändern muss…

Die Lehrermail hab ich in Feld 6 von lehrer.txt untergebracht, falls sie nicht meinem wunsch v.nachname entspricht.

#!/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
1 „Gefällt mir“