Lmn7 moodle 3.9 Nutzerkreis einschraenken

Hallo zusammen,

ich hab da mal ein Spezialproblem: jetzt wo die automatische Übernahme der Nutzer aus dem LDAP in moodle funktioniert, findet man natürlich neue Begehrlichkeiten …
Bei mir ist das aber eine Spezialsituation.
Ich verwalte zwei Schulen auf einem Server.
Das Gymnasium hat die Schüler in den Klassen 5a, 5b, …
und die Realschüler sind in den Klassen r5a, r5b,…

So wie das gerade eingestellt ist, können sich auch Realschüler im gymnasialen moodle anmelden. Eigentlich nicht so schlimm: sie kommen ja in keinen Kurs rein: können also eigentlich nur die Startseite sehen. Schöner wäre es aber, wenn sie nicht rein kämen.

Wenn ich unter plugins->authentifizierung->LDAP schaue, dann fällt zuerst auf:

Kontexte: ou=teachers,ou=default-school,ou=schools,dc=bzpf,dc=lan;ou=students,ou=default-school,ou=schools,dc=bzpf,dc=lan

Jetzt könnte ich da natürlich alle meinen Klassen statt „students“ reinschreiben … das wäre aber eine lange Liste, da wir 3zügig sind…

Es gibt aber weiter unten:
Ausblendmerkmal:
Wenn ich da reinschreiben könnte, dass Nutzer die in einer Klasse des Schemas r* sind ausgeblendet werden: das wäre schon was.
Aber ich kenne die Syntax nicht.

Oder soll ich es in das Feld reinschreiben:
ObjectClass:

Kann jemand von euch LDAP Syntax?

LG

Holger

Hallo Holger:

Oder soll ich es in das Feld reinschreiben:
ObjectClass:

genau, und zwar:

(&(objectClass=user)(!(sophomorixAdminClass=r*)))

Übersetzung: objectClass muss „user“ sein und sophomorixAdminClass darf nicht mit „r“ beginnen.

Die entsprechende Ldapsearch-Abfrage zum Testen wäre übrigens:

ldapsearch -x -W -H "ldap://10.0.0.1" -D "cn=global-binduser,ou=Management,ou=GLOBAL,dc=schule,dc=lan" -b "ou=students,ou=default-school,ou=schools,dc=schule,dc=lan" "(&(objectClass=user)(!(sophomorixAdminClass=r*)))"

Du musst dann das Passwort von Deinem Global-Binduser eintippen.

Mehr zu Ldapsearch bei der LMN habe ich übrigens hier zusammengeschrieben:

https://wiki.linuxmuster.net/community/anwenderwiki:scripting:ldapsearch

Beste Grüße

Jörg

1 „Gefällt mir“

Hallo Jörg,

genau, und zwar:

(&(objectClass=user)(!(sophomorixAdminClass=r*)))|

Übersetzung: objectClass muss „user“ sein und sophomorixAdminClass darf
nicht mit „r“ beginnen.

klappt: Super, Vielen Dank.
Ich hab einen Realschulaccount erstellt und getestet: geht nicht.
Dann meinen Gymschüleraccount getestet: geht.
Dann den gymschüler in eine realschulklasse versetzt: kommt nicht mehr rein.
UNd dann zurück: alles super: tausend Dank :slight_smile:

LG

Holger