Die freie und quelloffene Filehosting-Lösung Nextcloud steht im Univention App Center entweder vorkonfiguriert oder als virtuelle Appliance bereit und ist unter UCS daher schnell installiert und eingerichtet. Nextcloud kann auch in großen, verteilten Umgebungen seine Dienste auf einem zentralen Server anbieten und eignet sich damit ideal, um Netzwerkfreigaben von anderen Rechnern einzubinden.
In diesem Blogartikel zeige ich, wie Nextcloud UCS@school-Freigaben von Benutzern bzw. Klassen oder Arbeitsgruppen automatisch bereitstellen kann. Somit stehen Daten, die sonst nur in einem lokalen Schulnetz erreichbar wären, an zentraler Stelle zur Verfügung, was besonders in großen Umgebungen mit zahlreichen Rechnern und Tausenden von Accounts praktisch ist. Wir bei Univention haben für zwei Schulträger eine Lösung entwickelt, die die Nextcloud-App External storage support zusammen mit dem Univention Directory Listener nutzt, um automatisch Samba-Shares in Nextcloud einzubinden.

Das Setup: Zentraler UCS-Server und an jeder Schule

Unseren Ansatz haben wir bereits erfolgreich für die beiden Landkreise Chemnitz und Fulda umgesetzt. Einer der beiden Schulträger stellt für rund 80 Schulen digitale Identitäten der Benutzer*innen und andere Dienste über UCS@school bereit. Mehrere zentrale UCS-Server agieren unter anderem als Domain Controller, Mail- und Groupware-Server. Auf einem der Server läuft auch Nextcloud. Alle Dienste sind über das Internet erreichbar.
Zusätzlich ist in jeder Schule ein UCS@school-Server vorhanden, der Domain-Services (Authentifizierung, Druckserver usw.) anbietet und gleichzeitig als Dateiserver dient. Die lokalen UCS@school-Server sind für die Schulen wichtig – z. B. für den Fall, dass die Netzwerkverbindung ausfällt oder die (Upload-)Bandbreite nicht ausreicht.
In jeder Schule gibt es etliche Clients; dazu gehören PCs, Laptops, mobile Geräte usw. Alle Clients haben – eine Internetverbindung vorausgesetzt – Zugriff auf die zentrale Nextcloud-Installation. Natürlich können das Lehrpersonal und die Schüler*innen auch auf den lokalen Dateiserver und die dort liegenden Daten zugreifen. Dieser Zugriff fällt jedoch weg, sobald ein Gerät das lokale Schulnetzwerk verlässt. Wer von zu Haus aus an einem Projekt weiterarbeiten möchte, kann die Daten zwar vorher herunterladen und beispielsweise auf einem USB-Stick mitnehmen, das ist aber wenig praktikabel und stellt außerdem ein Sicherheitsrisiko für die schuleigenen Geräte dar.

Nextcloud im Portal Schule

 

Nextcloud-App und Univention Directory Listener

Einen Ausweg bietet die Nextcloud-App External storage support. Sie ermöglicht das Einbinden externer Speicher und stellt sie den Benutzern so zur Verfügung, als wären es gewöhnliche Nextcloud-Ordner. Wir nutzen dieses Feature, um Samba-Freigaben der UCS@school-Server in der zentralen Nextcloud-Instanz einzubinden. Auf diese Weise haben die Schüler*innen und das Lehrpersonal jederzeit Zugriff auf die persönlichen Daten – egal, ob sie sich im Schulnetz befinden oder nicht.
Bei unserem Kunden ging es darum, Dutzende von Dateiservern zu integrieren und dabei Tausende von Benutzer- und Gruppen-Freigaben automatisch in Nextcloud verfügbar zu machen. Konkret hatten wir es bei einem Schulträger mit den folgenden Dimensionen zu tun:

  • ca. 40.000 Home-Verzeichnisse der Benutzer*innen (wobei jedes Jahr Tausende hinzukommen und auch wieder wegfallen)
  • ca. 3.000 Gruppen (wobei jedes Jahr Hunderte hinzukommen und wieder wegfallen)
  • Für jeden Benutzer und jede Gruppe gibt es eine neue Freigabe.
  • Alle Freigaben sind über insgesamt 80 Schulen verteilt.

Außer der Nextcloud-App kommt der Directory Listener zum Einsatz. Diese Schnittstelle empfängt vom Univention Directory Notifier Benachrichtigungen über Änderungen im Identitätsmanagement-System (IDM) und reagiert darauf. Der Directory Listener ist modular aufgebaut und somit leicht durch Plug-ins erweiterbar. Immer wenn es einen neuen Benutzeraccount oder eine neue Klasse/Arbeitsgruppe in UCS@school gibt, wird gleichzeitig eine Samba-Freigabe erstellt. Diese Änderung im IDM wird an ein Listener-Plug-in weitergegeben, das im Anschluss daran einen entsprechenden externen Speicher in Nextcloud einrichtet.

Die lokalen UCS@school-Server anpassen

Das Plug-in, das die externen Speicher automatisch in Nextcloud konfiguriert, stellt also sicher, dass alle Freigaben für neue Benutzer und Gruppen erreichbar sind. Dafür zuständig sind mehrere Pakete aus dem Cool-Solutions-Repository. Hier bieten wir auch Software an, die die UCS@school-Gruppen für Nextcloud aktiviert; an dieser Stelle findet keine direkte Interaktion mit Nextcloud statt. Das ist vor allem praktisch für Umgebungen, in denen Nextcloud nachträglich installiert wird, um dort nicht alle Gruppen einzeln in Nextcloud aktivieren zu müssen, um anschließend die Freigaben einzubinden. Bei 1.000 Gruppen oder mehr ist das Vorgehen von Hand viel zu aufwändig.
Beachten Sie, dass jeder externe Speicher in Nextcloud auf eine oder mehrere Gruppen bzw. Benutzer eingeschränkt werden muss, da die Freigaben sonst für alle sichtbar sind. Angenommen, es gäbe eine Gruppe namens Schule1-1a, die zwar in UCS@school, aber nicht in Nextcloud aktiviert ist. Dann wäre es zwar möglich, die dazugehörige Freigabe einzubinden, aber der Admin könnte die Sichtbarkeit in Nextcloud nicht auf die Mitglieder der Gruppe beschränken. Die Pakete aus dem Cool-Solutions-Repository kümmern sich darum: Wird eine Gruppe nicht gefunden, wird die jeweilige Freigabe in Nextcloud auf den standardmäßig vorhandenen User nc_admin eingeschränkt, damit sie nicht plötzlich bei allen Benutzer*innen auftaucht.
Wenn ein Benutzeraccount oder eine Gruppe in UCS@school gelöscht wird, dann tritt wiederum das Listener-Plug-in in Aktion und löscht die Einbindung der dazugehörigen Freigabe in Nextcloud. Die Freigabe selbst wird von UCS gelöscht, wobei genau genommen nicht die eigentlichen Daten der Freigabe aus dem Dateisystem, sondern nur das Freigabeobjekt in UCS gelöscht werden, sodass die Freigabe nicht mehr aufgerufen werden kann.

Version 2.0: Unterstützung für UCS

Weitere Informationen und eine detaillierte Anleitung finden Sie im Artikel auf unseren Hilfeseiten in der Rubrik Cool Solution. Derzeit sammle ich Ideen und Anregungen für Version 2.0 dieses Features, die unter anderem eine bessere LDAP-Integration mitbringen und unabhängig von UCS@school laufen soll. Damit können wir dann auch normale UCS-Shares unterstützen und nicht nur die UCS@school-spezifischen Netzwerkfreigaben. Ich freue mich daher über Ihr Feedback – gerne als Kommentar zu diesem Blogartikel.

 

Weitere interessante Artikel

UCS Core Edition jetzt kostenfrei einsetzen!

Zum Downloadbereich

Open Source Software Consultant & Engineer im Professional Service Team bei Univention.

Was ist Ihre Meinung? Hinterlassen Sie einen Kommentar!

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.