Wir nutzen NC mit ca. 600 Profilen im tÀglichen Schulbetrieb und sind seit 3 Jahren sehr zufrieden, lediglich ein nerviger Fehler dÀmpft unsere Stimmung:
Per Freigabelink stellen wir unseren SchĂŒler*innen verschiedenste Materialien zur VerfĂŒgung (Lernvideos, etc.), zur einfachen Nutzung versehen wir diese Links mit statischen QR-Codes.
Was wir (prinzipiell) seit Beginn feststellen:
Einige (sehr viele, aber nach letzter info nicht alle) Links Àndern sich nach einiger Zeit von allein in völlig neue Links. Hierbei sind die 15-stelligen Tokens gemeint, die als als Link zufÀllig erzeugt werden. Vom einen auf den anderen Moment Àndern sich diese Tokens komplett!
Die Freigaben an sich wurden von unserer Seite zu keinem Zeitpunkt irgendwie verÀndert, ebenso wurde bei keiner Datei ein Ablaufdatum gesetzt. Die Dateien wurden ebenso weder gelöscht noch irgdnwie verschoben. Der genaue Zeitraum lÀsst sich nicht genau ermitteln, aber wir gehen von 4-5 Wochen aus.
Existiert vielleicht eine system-interne Einstellung, nach der alle Freigabelinks nach einer bestimmten Zeit neu generiert werden? (Wobei das bei uns ebenso schwer nachvollziehbar wÀre, da nicht alle Links betroffen sind)
Dieses Verhalten zieht sich seit mehreren Jahren hin, aktuell fahren wir die neueste NC 28.0.1, ich schÀtze dass wir das Problem bereits seit NC Version 24 oder 25 beobachten.
Unsere Konfiguration:
Wir haben einen eigenen Server mit Mehrkern-Prozessor und 32GB RAM angemietet, der von unserem Provider gewartet wird, grundsĂ€tzlich haben wir vollen Zugriff auf alles (ĂŒber ssh), aktuell lĂ€uft Gentoo Linux 6.1.66 mit PHP 8.1.27, die Datenbank lĂ€uft ĂŒber mysql 8.0.34_26.
Gemeint von @derwolkenmann ist wahrscheinlich die App Configurable Share Links, wodurch individuelle Links erstellt werden können. Ich denke hier liegt nicht das Problem.
Problemanalyse:
Zur Problemanalyse fehlen weitere Details.
An eurer Stelle wĂŒrde ich Datenbank-Dumps aus den Sicherungen (Backups) vergleichen. Sucht in den Datenbank-Dumps nach den nicht mehr funktionierenden 15-stelligen Shares (alt und neu). Beachtet natĂŒrlich den Datenschutz. Wenn ihr was findet, so postet gerne anonymisierte Detailinformationen.
Bitte schlieĂt auch aus, dass es an der QR-Code-Erstellung liegt. Stellt sicher, dass sich die QR-Codes nicht vielleicht geĂ€ndert haben, da ihr diese vielleicht automatisiert bereitstellt.
Bitte schlieĂt auch aus, dass irgendwelche Personen die Shares aus irgendwelchen GrĂŒnden gelöscht und neu angelegt haben.
Ich gehe davon aus, dass es keine Fehlfunktion von Nextcloud ist und der Fehler irgendwo bei euch liegt.
Bei mir und bei drei weiteren betreuten Instanzen, laufen die Links schon seit Jahren absolut fehlerfrei.
Was diese Links definitiv zerstört, ist das Löschen vom File-Cache oder eine, wenn auch nur versuchsweise, RĂŒcksicherung der Datenbank.
Wie @devnull auch schon angemerkt hat, könnte man sich die Tabelle âoc_shareâ in frĂŒheren Datenbank-Dumps einmal genauer anschauen.
Wenn es tatsĂ€chlich nur einzelne Benutzer betrifft, dann findet man in dieser Tabelle unter âshare_withâ den Namen und unter âtokenâ das 15-stellige Token.
Die Spalte âfile_sourceâ entspricht dann der jeweiligen âfileidâ, welche natĂŒrlich zu dem entsprechenden Ordner oder der Datei passen muss.
Mich stört noch, dass angeblich nicht auf irgendwelche nicht mehr existierenden Dateien verwiesen wird, sondern einfach nur die Shares nun anders heiĂen. Ich hĂ€tte bei Nextcloud erhofft, dass eine IntegritĂ€tsprĂŒfung diese Art von Fehler finden wĂŒrde falls sie ĂŒberhaupt möglich sind. Leider weiĂ ich nicht, wie die Shares gebildet werden und ob IntegritĂ€tsprĂŒfungen Manipulationen erkennen wĂŒrden. Man mĂŒsste mal direkt in der Datenbank eine Ănderung vornehmen. Vielleicht mag das jemand ausprobieren und hier berichten.
Ich habe es in meiner Testinstanz einmal ausprobiert.
Bei Manipulation von âitem_sourceâ und âfile_sourceâ (entspricht der âfileidâ) , geht einfach ein anderer Ordner oder eine andere Datei als festgelegt auf.
âocc files:scan --allâ, âocc files:repair-treeâ und âocc maintenance:repairâ können die Manipulation selbstverstĂ€ndlich nicht korrigieren. Eine IntegritĂ€tsprĂŒfung kann hier nicht erfolgen, da ja an dem HASH der Dateien nichts geĂ€ndert wird.
Eine Manipulation vom Token zerstört den Link vollstĂ€ndig. Altes Token wieder eingefĂŒgt und der Link funktioniert wieder.
Eine Datei oder ein Ordner behalten ihre âfileidâ bis sie gelöscht werden. Selbst beim Verschieben in einen anderen Ordner bleibt die âfileidâ erhalten und der Freigabelink funktioniert weiter. Erst beim Kopieren der Datei oder des Ordners wird eine neue âfileidâ erstellt. Löscht man danach das Original, dann ist der Freigabelink nicht mehr gĂŒltig.
GrundsÀtzlich haben Verlinkungen zu internen Benutzern auch keine Token. Diese Token werden nur an öffentliche Freigabelinks vergeben.
In der Tabelle âoc_sharesâ kann man unter âfile_targetâ den verlinkten Ordner oder die Datei sehen und in der Nextcloud dann schauen, ob die âfileidâ mit âfile_sourceâ noch ĂŒbereinstimmt.
Manipuliert man in der Datenbank âfile_sourceâ mit einer gĂŒltigen âfileidâ aus dem System, dann wird die dazugehörige Datei ĂŒber den öffentlichen Link mit dem jeweiligen Token so ausgegeben.
Man beachte hier das Wort âwirâ!
Ich kann mir nicht vorstellen, dass allen LehrkrÀften der etwas komplizierte Umgang mit den Freigaben bewusst ist.
Wie ich es oben beschrieben habe, kann man hier sehr viel verbasteln.
Genau das befĂŒrchte ich auch. Man kann im Ăbrigen die Freigabe-Links mit Label (also einem Begriff) versehen. Dieser kann auch gerne etwas lĂ€nger sein und Ersteller, EmpfĂ€nger, Grund und Datum enthalten. Dann kann man auch mal nachschauen was das fĂŒr ein Share ist.
Vielen Dank fĂŒr Eure zahlreichen RĂŒckmeldungen. Ich hatte schon im GefĂŒhl, dass das Problem auf der âNutzerseiteâ liegen muss. Ich werde meinen Kolleg*innen bei der Arbeit etwas mehr âĂŒber die Schulternâ schauen.
Vielleicht haben sie einfach nur mal die Shares aufgerĂ€umt und dann Shares wieder neu angelegt. Daher sind die Label wirklich gut und wichtig, um fĂŒr jeden Share eine Art Dokumenation anzulegen.