Nextcloud mapping

Hallo Zusammen,
ein Lehrer meldete uns das über seine Weboberfläche der Nextcloud, die Klassenordner unter Students-home nicht angezeigt werden. An einem Schulrechner hingegen ist das Mapping und Zugriff über den Dateiexplorer gewährt. Auch in der Linuxmuster Schulconsole kann der Lehrer auf alles, worin er sich eingeschrieben hat zugreifen.

Ich konnte folgendes mit unserem Testlehrer nachstellen.

  • Initial wurde der Testlehrer in alle Klassen eingetragen, das Mapping kam ca. 10 Minuten später in der Nextcloud (vor 3 Monaten)

  • Als ich heute dem Testlehrer einige Zugriffe über die LM Schulconsole entzogen habe, wurden die Ordner in der Nextcloud noch angezeigt, doch man konnte nicht mehr zugreifen.

  • Dann habe ich den Testlehrer in eine neue Klasse eingeschrieben, ebenfalls kein mapping in der Nextcloud Webansicht.

  • Das ganze wiederholte ich dann mit dem Nextcloud Client für Windows. Als ich den Testlehrer verbunden habe, öffnet sich das Browserfenster in dem man sich Verifizieren muss. Danach wurden die Änderungen auf im Web korrekt angezeigt ( entfernte Klassen waren weg und neu hinzugefügte waren da ).

-Nach dem Sync zwischen Nextcloud und Windows Client, wurden auch alle eingeschriebenen Klassen mit Schüler angezeigt, so wie es sein soll. Doch als ich die Berechtigungen in der Linuxmuster Console änderte ( einschreiben der Klasse wurde entfernt ) und syncte , waren auf dem Windows Client nach wie vor alle Ordner zu sehen und der Zugriff war weiterhin verfügbar.

Auf dem Docker hatte ich den Nextcloudapp Dienst neu gestartet, keine Besserung.

Anzumerken ist das ich zwischen den Schritten 30 Minuten bis 1 Stunde gewartet habe, also es war genug Zeit die Berechtigung und Zugriff zu syncen.

Ich hoffe das jemand das gleiche Thema bereits hatte und mich dabei unterstützen kann.

Gruß Jonas

Hallo zusammen,

nach etwas Recherche und Probieren haben wir raus gefunden, dass hier der alle 5 Min laufende cron.php-Job der nextcloud dieses Problem nicht behebt. Auch die Einstellungen in der nextcloud unter Externer Speicher sollten passen (Haken gesetzt bei „Überprüft den ACL-Zugriff beim Auflisten von Dateien“ und unter … steht bei „Auf Änderungen prüfen“ auf "Einmal bei jedem Dateizugriff). Was aber funktioniert, ist folgendes Command auf der CLI im Docker (Using the occ command — Nextcloud latest Administration Manual latest documentation):

docker exec --user www-data nextcloud_app2_1 php occ files:scan username

Statt username kann man auch alle User mit einmal neu scannen, aber das führt bei manchen Usern zu locking-Fehlern oder ForbiddenException, deswegen sträube ich mich noch ein wenig das als regelmäßigen cron-Job auf dem Dockerhost einzurichten. In der occ gibt es auch files_external commands (Using the occ command — Nextcloud latest Administration Manual latest documentation), aber die helfen nicht wirklich weiter.

Hat keiner hier im Forum ein ähnliches Problem? Bzw. was wäre aus eurer Sicht best practice um dieses Problem zu beheben?

VG,
Frank

Eine Ergänzung noch: Es scheint nur die per Einschreiben in der Schulkonsole gemappten Verzeichnisse zu betreffen, also share/classes und Students-Home. Im eigenen Home Ordner anlegen oder ein neues Projekt erstellen wird direkt synchronisiert.

Nach einiger Recherche, hier unsere Erkenntnisse und Lösungen (vielleicht hilft es dem einen oder anderen):

Nextcloud selbst empfiehlt für das Problem einen cron-Job → Configuring External Storage (GUI) — Nextcloud latest Administration Manual latest documentation. Wie folgt umgesetzt:

- Bash-Skript zur Ausführung des Scan-Jobs für alle User (dauert bis zu 2h) und Logfileumleitung und Logrotating
- Systemd Service und Timer für dieses Bash-Skript erstellt
- Bash-Skript für checkmk-Monitoring der Logfile erstellt (local check)

Und noch folgende Hinweise am Rande:
- mit dem Schalter -v kann man noch die File und Verzeichnisse genau erkennen, die gescannt werden
- Der Schalter --unscanned bringt nix, dann wird 0 Files und 0 Folders angezeigt
- Das occ-command files:cleanup bringt auch nix bei dem Fehler (zeigt auch 0 Änderungen an, obwohl sich durch Einschreiben was geändert hatte)
- In der config.php den Parameter Parameter ‚filesystem_check_changes‘ => 1, auf 1 stellen bringt nach eigenem Testen auch nix, was laut Doku auch nicht für external storages zieht

Die Fehler, die man beim Scannen bekommt, kann man wie folgt lösen:

  • Encoding-Problem bei manchen Files mit Umlauten: Bsp.: root@server:/srv/samba/schools/default-school# convmv -f utf-8 -t utf-8 -r --notest --nfc students/
  • ForbiddenException-Problem bei einem unserer User:
    Sophomorix-repair/Durchstarten brachte nix. Über nextadmin an Weboberfläche angemeldet und unter Verwaltungs-Einstellungen → Verwaltung → Protokollierung konnte man sehen welche Verzeichnisse von diesem Fehler betroffen waren. Dort habe ich den User nochmal über die Schulkonsole eingeschrieben und wieder entfernt. Außerdem lagen bei dem User lokal im nextcloud-Server noch Dateien rum (Welcome-Dateien), was aber mit der Grenze der 0MB kollidiert, deswegen wurden die lokalen Dateien+Folder gelöscht. Anschließend kam der Fehler nicht mehr hoch.