Moodle (belwue) synchronisiert Nutzer nicht mehr

Hallo zusammen,
wir haben zusammen mit Netzint in den Herbstferien unseren Server von 6.2 neu auf 7.1 aufgesetzt. Die Einstellungen in moodle (bei belwue) haben wir laut Doku vorgenommen, die bestehenden Nutzer können sich per ldaps gegen den lmn-server authentifizieren. Nur: Neu über die webui aufgenommen Benutzer werden nicht mehr nach moodle synchronisiert. Normalerweise lief da ja 1x am Tag ein Skript bei belwue, das das gemacht hat, hat bis auf den letzten Tag mit der 6.2 auch funktioniert. Hat jemand eine Idee wo ich da mit der Suche anfangen soll?

LG Alex

Hallo Alex,

da fällt mir zweierlei ein:

  1. Nach allen Änderungen an der Konfiguration muss man bei Moodle unbedingt sämtliche Caches löschen. Das geht bei den Administrationsseiten unter Entwicklung → Entwicklung → Caches löschen. Sehr wahrscheinlich liegt es daran.

  2. Läuft der zugehörige Task, und wenn ja, ohne Fehler? Du findest ihn auf den Administrationsseiten bei Server → Tasks → Geplante Tasks, er heißt „Synchronisierung von LDAP-Nutzerkonten (\auth_ldap\task\sync_task)“. Dort ist auch ein Link zum Logfile.

Beste Grüße

Jörg

Hallo Jörg,

danke für den Hinweis bzgl. Löschen der Caches, das hat schon mal etwas gebracht. Heute Nacht lief das Script wohl erstmals mit der geänderten Config. Allerdings bekomme ich jetzt Fehlermeldungen (wenigstens kann man dann weiter suchen): Irgendetwas scheint mit der Kodierung nicht zu stimmen: Ich bekomme jede Menge Meldungen dieser Art:

Nutzer/in übersprungen.Fehler: Neues Nutzerkonto kann nicht angelegt werden. Details: stdClass Object ( [username] => wol-m01$ [modified] => 1668755029 [confirmed] => 1 [auth] => ldap [mnethostid] => 1 [suspended] => 0 [calendartype] => gregorian ) Der Anmeldename enthält ungültige Zeichen Nutzer/in übersprungen.Warnung: Anlegen von 194 Nutzerkonten übersprungen... used 6388 dbqueries ... used 17.951076030731 seconds Scheduled task failed: Synchronisierung von LDAP-Nutzerkonten (auth_ldap\task\sync_task),Fehler in der Kodierung gefunden, den nur Programmierer/innen korrigieren können: Task left transaction open

In der ldap-Konfig bei belwue ist utf-8 als Kodierung eingestellt. Hast du eine Idee wo ich weiter suchen kann?

LG Alex

Hallo Alex,

ich vermute, es liegt daran: wol-m01$

Das ist ein Maschinenaccount. Du solltest Deinen Suchfilter so anpassen,
dass nur echte Personen gefunden werden. Die Maschinenaccounts,
Computer, Drucker usw. willst Du ja sowieso nicht in Moodle haben.

Beste Grüße

Jörg

Das klingt plausibel, nur: Wo und wie mache ich das? Ich kann in der Doku zu lmn 7.1 (Externe Authentifizierung - Moodle — linuxmuster.net 7.1 Dokumentation) dazu nichts finden. Kannst du mir deinen Filter schicken und das Feld wo der rein muss?

LG Alex

Hallo Alex,

Du kannst bei der LDAP-Konfiguration in das Feld „Object class
(auth_ldap | objectclas)“ im Abschnitt „User lookup settings“ auch einen
Filter eingeben, also z. B.:

(|(sophomorixRole=teacher)(sophomorixRole=student))

Dann werden nur Lehrer und Schüler gefunden.

Nach dem Ändern musst Du natürlich wieder den Cache löschen. Du solltest
auch zur Sicherheit erst mal in dem Abschnitt „User account
synchronisation“ im Feld „Removed ext user“ einstweilen die Option
„Suspend internal“ (oder keep) auswähöen, damit nicht versehentlich User
gelöscht werden. Wenn Du „suspend“ nimmst, kannst Du nachher schön
sehen, was passieren würde, wenn Du „delete“ auswählen würdest.

Beste Grüße

Jörg

Lieber Jörg,

das hat einwandfrei funktioniert, ganz herzlichen Dank dafür. Ich finde das sollte in die @Doku-Team der lmn aufgenommen werden.

LG Alex

Hallo Alex, Hallo Jörg,

wir haben Eure erarbeiteten Hinweise in die Doku aufgenommen unter:
https://docs.linuxmuster.net/de/latest/external-services/moodle/index.html#weitere-einstellungen
Nutzersuche & Synchronisierung ergänzt.
Prüft bitte, ob das so korrekt wiedergegeben ist.

VG
Chris

Hallo Chris,

Du bist ja schnell - sieht aus meiner Sicht sehr gut aus.

Vielleicht sollte man noch ganz unten vor der Überschrift „Host
Einstellungen“ (oder wo auch immer) einen Hinweis anbringen, dass man
nach allen Änderungen alle Caches löschen muss. Das hat mich schon viele
Stunden Fehlersuche gekostet.

Beste Grüße

Jörg

Hallo Jörg,

habe ich aufgenommen, sollte demnächst online sein.

Schaue es bitte noch mal an und gebe Rückmeldung oder verbessere es gerne selbst.

Beste Grüße

Thorsten