Skip to content

Instantly share code, notes, and snippets.

@hmt
Created October 30, 2020 22:48
Show Gist options
  • Save hmt/84a4c29d758ecc273086ba338d77042e to your computer and use it in GitHub Desktop.
Save hmt/84a4c29d758ecc273086ba338d77042e to your computer and use it in GitHub Desktop.
NextCloud unter PaedML

NextCloud (19) und PaedML (7.1)

Um NextCloud erfolgreich an PaedML anzuschließen und den LDAP-Server für Authentifizierung zu nutzen, müssen folgende Einstellungen vorgenommen werden.

Diese Konfiguration verwendet zwei unterschiedliche LDAP-Konfigurationen, da sich die Schule momentan mit einer anderen Schule aus dem gleichen Schulverbund einen Server teilt. Um also vorzubeugen, dass alle Schüler alle anderen Schüler auf dem LDAP-Server "sehen", wurden die LDAP-Abfragen etwas eingeschränkt. Andere Schülen müssen wahrscheinlich weniger restriktiv an die Sache rangehen.

Ich weiß leider nicht, ob unsere Servereinstellungen generell so angelegt sind oder ob sie speziell so von unserem Dienstleister angelegt wurden, ich habe das System geerbt.

Nachdem NextCloud im Idealfall auf einer eigenen VM installiert wurde, müssen nun die Verbindungen hergestellt werden. Dazu muss zunächst die LDAP/AD-Integration als Plugin aktiviert werden.

Reiter Server:

Server mit IP eintragen (bei uns 10.1.0.1:7389) Der LDAP-Nutzer: uid=NUTZERNAME_EINSETZEN,cn=users,dc=paedml-linux,dc=lokal mit Passwort

Dann Die Base-DN eintragen. Da diese Base nur für Lehrer ist, setze ich entsprechend eng: cn=lehrer,cn=users,ou=schule,dc=paedml-linux,dc=lokal

Reiter Benutzer:

Unsere Abfrage hat folgenden Filter: (&(objectclass=ucsschoolTeacher)(!(uid=k-*))) Normalerweise kann man wohl diese Einstellung freilassen und alle Nutzer finden lassen. Da wir aber noch andere Lehrer im System haben, die keinen Zugriff benötigen, schließen wir diese über die uid aus, die mit "k-" beginnen. Es bleiben nur noch unsere Nutzer übrig.

Reiter Anmeldeattribute:

Abfrage sieht so aus, ich erinnere mich nicht, warum ich dc ebenfalls gesetzt habe... (&(|(objectclass=posixAccount))(|(uid=%uid)(|(dc=%uid))))

Reiter Gruppen:

Es wird keine Objektklasse gewählt, dafür nur die Gruppe lehrer-schule Filter sieht dann so aus: (|(cn=lehrer-schule))

Unter Fortgeschritten wird folgendes eingestellt: Anzeigename: displayname Basis-Benutzerbaum: cn=lehrer,cn=users,ou=schule,dc=paedml-linux,dc=lokal Benutzersucheigenschaften: uid, cn, sn auf jeweils eigener Zeile Anzeigename Gruppe: cn Basis: Gruppenbaum: cn=groups,ou=schule,dc=paedml-linux,dc=lokal Gruppensucheigenschaften: cn Assoziation zwischen Benutzer und Gruppe ist: memberUid ! Wichtig, sonst klappt die Gruppenzuordnung nicht bei den Nutzern Bei speziellen Eigenschaften ist das eMail-Feld als mail deklariert.

Soviel zu den Lehrern.

Bei den Schülern alles gleich bis auf folgende Eigenschaften:

Basis-DN: cn=schueler,cn=users,ou=schule,dc=paedml-linux,dc=lokal

Reiter Benutzer:

LDAP-Filter: (&(objectclass=ucsschoolStudent)(!(uid=*-*))) Hier werden ebenfalls Schüler herausgefiltert, die einen Bindestrich im Anmeldenamen haben. Braucht sicher nicht jeder.

Reiter Gruppen:

(&(objectClass=sambaGroupMapping)(cn=*)) Die Objektklasse kann aber m.E. auch weggelassen werden

Fortgeschritten:

Basis-Benutzerbaum: cn=schueler,cn=users,ou=schule,dc=paedml-linux,dc=lokal

Basis-Gruppenbaum: cn=klassen,cn=schueler,cn=groups,ou=schule,dc=paedml-linux,dc=lokal

In den Einstellungen zu Teilen in Nextcloud sollte nun noch eingeschränkt werden, dass Nutzer nur Mitglieder der gleichen Gruppe finden. Lehrer finden Lehrer und Schüler, Schüler nur Mitschüler und Fachlehrer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment