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 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
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.
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:
nichts steht im “mail” - Feld von LDAP
benutzername@eingerichtete-linuxmuster-domäne steht in “mail”
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?
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.
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.
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