Freigabelinks Àndern sich von allein

Hallo allerseits,

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.

Ich freue mich ĂŒber interessantes Feedback :wink:

Gruß Thomas

Hast du die App aktiv fĂŒr benutzerdefinierte Freigabelinks?

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.

1 Like

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.

1 Like

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.

1 Like

So etwa in dieser Form. :wink:

1 Like

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. :wink:

2 Likes

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.