Öffentliches Hochladen, Anzeigen aber nicht löschen

Hallo zusammen,

ich versuche gerade herauszufinden, ob es mit nextcloud (und evtl. den neuen Workflows / File Access Controls) möglich ist, einen Ordern öffentlich per Link frei zu geben, das Hochladen und Anzeigen von Dateien darin zu erlauben, aber das Löschen zu verbieten?

Hintergrund:
Es soll ein Ordner erstellt werden, in dem z.B. Gäste einer Feier eigene Bilder für alle, die den Link (und das Passwort) haben, hochladen und sich ansehen, aber nicht löschen können, so dass man nicht Bilder löscht, die ein anderer Gast hoch geladen hat.

Ist das mit Nextcloud irgendwie machbar?

Vielen Dank schon mal!
Snoopy

2 Likes

Genau sowas versuche ich ebenfalls, also falls jmd eine idee hat was ich dafür wie einstellen muss, immer her damit :smiley:

Sowas suche ich auch!
Gut wäre auch, wenn die Gäste nicht nur hochladen, sondern auch Ordner erstellen können. Dann wäre es möglich die Uploads zu strukturieren und andere Gäste wüssten, wer er hochgeladen hat.

Hat jemand schon herrausgefunden wie das geht ? Unter Teilen im Adminbereich kann man ja folgendes aktivieren:

Zeige Haftungsausschluss auf der öffentlichen Upload-Seite. (Wird nur gezeigt wenn die Dateiliste nicht angezeigt wird.)

Die Frage ist nur, welcher Link ist für die öffendliche Uploadseite zuständig!

Ja, ich weiß dass der letzte Post schon etwas her ist.
Da ich dasselbe Problem hatte und bei der Lösungssuche mehrmals hier gelandet war, möchte ich meine Lösung hier nicht vorenthalten (auch wenn Sie etwas technisch ist :no_mouth: und Zugriff auf die Datenbank voraussetzt).

Zur Info: Ich arbeite bereits mit Nextcloud 12 und weiß daher nicht, ob dies auch in vorherigen Versionen so gelöst wurde.

Bevor wir weiter machen, möchte ich zur Sicherheit hinweisen, dass ich keine Verantwortung für Datenverlust oder andere Schäden übernehme! Ich habe dies auf meinem System getestet und keine Fehler oder Probleme feststellen können, weswegen ich diese Beitrag hier schreibe.


In der Nextcloud Datenbank in der Tabelle “share” werden alle Shares (Freigaben) aufgelistet.
über die Spalte “permissions” werden dabei die Zugriffsrechte gesteuert.

hier werdet Ihr wahrscheinlich nur: 1, 15, 31 (ggf. auch noch ein paar mehr) sehen.
hinter den Zahlen versteckt sich eine binäre Logik:
die Zahlen sind aus den binären ins dezimale umgerechnet (ähnlich wie die Dateiberechtigungen in Linux gelöst sind).

erstes Bit: (dezimal 1) = lesen
zweites Bit (dezimal 2) = schreiben (überschreiben)
drittes Bit (dezimal 4) = erstellen (upload + Ordner erstellen)
viertes Bit (dezimal 8) = löschen
fünftes Bit (dezimal 16) = konnte ich noch nicht rausfinden (taucht aber nur bei Personen Freigaben auf) :confused: (Ich vermute, hier behält der Ersteller von Dateien in der Freigabe die vollen Rechte darauf.)

diese Rechte lassen sich durch addition nun beliebig kombinieren:
1+4 = 5: alle Daten sehen und erstellen (kein löschen oder überschreiben)
1+2+4 = 7: alle Daten sehen, erstellen und überschreiben (kein löschen)
1+8 = 9: alle Daten sehen und löschen (kein upload oder überschreiben)

Die Eingabe von “5” in der entsprechenden Share Zeile in “permissions” hat für mich das erwünschte Ergebnis geliefert :tada: (Hochladen und sehen, aber nichts löschen oder überschreiben)

Da der eingegebene Wert in der Oberfläche nicht vorgesehen ist, erscheint im Teilen Menu keine Eingabe. Ist aber weiterhin voll funktionstüchtig.


Da dies keine altagstaugliche Lösung ist, hoffe ich weiterhin, dass die Nextcloud Entwickler das Teilen Menu um die entsprechende Funktionalität erweitern werden. Immerhin ist die grundsetgrundsätzliche Funktionalität bereits gegeben.

6 Likes

@rtls:
Großartig! Genau was ich gesucht habe, funktioniert hervorragend (natürlich mit der Einschränkung, dass das in der GUI nicht mehr korrekt angezeigt wird, aber damit kann ich erst mal leben).
Hoffe jetzt auch, dass die Devs die GUI entsprechend anpassen können, wenn die Funktionalität an sich ja schon mal klappt…

An den Berechtigungen für öffentliche Freigaben zum Hochladen (file drop) hat sich etwas geändert. Stehen alte noch mit permissions=6 in der Datenbank, erhalten neu erstellte bzw. geänderte permissions=4.

@anon99252149, Das kann gut sein, Permission 6 heißt hochladen und “überschreiben”, was zu Datenverlust führen kann. Der Hochladene sieht immerhin nicht was schon vorhanden ist.

Wenn den Entwicklern das aufgefallen ist, haben Sie es entschärft in dem sie das überschreiben recht entfernt haben (6 - 2 = 4 :wink:), so erhält der Hochladene eine Fehlermeldung beim Versuch eine vorhandene Datei zu überschreiben und kann den Namen ändern.

Immerhin kann ich mir das so gut vorstellen :grin:


Ach ja, unter nextcloud-git konnte ich eine Datei finden, welche die Logik von meinem letzten Post größtenteils bestätigt.
Einzig das “@deprecated” im Kommentar vor den Konstanten irritiert mich etwas.

@JasonBayton

Feature Request!

1 Like

Gibt es immer noch keine Möglichkeit dies direkt im Browser oder den Clienten einzustellen!?

1 Like

Ich möchte hier auch mal den Bedarf hinterlegen - gerade wenn das im backend sogar schon klappt, sollte es doch vergleichsweise schnell über die Oberfläche anschließbar sein :slight_smile:

1 Like