Multiple Hardlinks auf Dateien in Verzeichnisbaum
Multiple Hardlinks auf Dateien in Verzeichnisbaum
Nachdem jede/r ihre/seine eigene Ordnung hinsichtlich der am Server liegenden Photos haben will, überlege ich, diese alle in einem Master-Ordner abzulegen und dann für jede/n einzelne/n zu "verhardlinken" [welches Wort! auf Deutsch vielleicht: "hart zu verknüpfen"? -- also mehrere Inodes auf jede einzelne Bilddatei verweisen zu lassen]. Dann könnte jede/r im "eigenen Photoalbum" beliebig die Bilder verschieben, umbenennen oder löschen.
Spricht da irgendwas dagegen und worauf sollte ich dabei aufpassen (die Dateien wären natürlich alle auf dem gleichen Gerät)?
Spricht da irgendwas dagegen und worauf sollte ich dabei aufpassen (die Dateien wären natürlich alle auf dem gleichen Gerät)?
- heisenberg
- Beiträge: 4124
- Registriert: 04.06.2015 01:17:27
- Lizenz eigener Beiträge: MIT Lizenz
Re: Multiple Hardlinks auf Dateien in Verzeichnisbaum
Ich würde das Hauptverzeichnis, d. h. das übergeordnete Verzeichnis, an dem die 1. Kopie aller Bilder sind bzgl. der Rechte so setzen, dass da niemand außer dem Admin rein kann. Nicht das aus Versehen jemand den letzten Hardlink löscht, d. h. manche Bilder dann endgültig löscht. Backup hilft natürlich auch dagegen.
Anonsten finde ich die Idee durchaus interessant.
Weiterhin: Wird es nicht so laufen, dass jede:r Nutzer:in auch selber Bilder hochlädt und die sind dann keine Hardlinks mehr? D. h. nach einer Zeit lang der Benutzung ist dass dann eine Mischung zwischen mehrfach hartverlinkten Dateien und solchen ohne weitere Hardlinks?
Anonsten finde ich die Idee durchaus interessant.
Weiterhin: Wird es nicht so laufen, dass jede:r Nutzer:in auch selber Bilder hochlädt und die sind dann keine Hardlinks mehr? D. h. nach einer Zeit lang der Benutzung ist dass dann eine Mischung zwischen mehrfach hartverlinkten Dateien und solchen ohne weitere Hardlinks?
Re: Multiple Hardlinks auf Dateien in Verzeichnisbaum
Das sind Hardlinks, die muss man nicht löschen. Die kann man auch durch Verändern/Editieren unbrauchbar machen. Nur der Eigentümer sollte Schreibrechte darauf haben...heisenberg hat geschrieben:18.08.2023 00:44:44Ich würde das Hauptverzeichnis, d. h. das übergeordnete Verzeichnis, an dem die 1. Kopie aller Bilder sind bzgl. der Rechte so setzen, dass da niemand außer dem Admin rein kann. Nicht das aus Versehen jemand den letzten Hardlink löscht, d. h. manche Bilder dann endgültig löscht.
- heisenberg
- Beiträge: 4124
- Registriert: 04.06.2015 01:17:27
- Lizenz eigener Beiträge: MIT Lizenz
Re: Multiple Hardlinks auf Dateien in Verzeichnisbaum
Ja. Löschen und Verändern sind verschiedene Mißgeschicke, die dabei passieren können. Alle Hardlinks einer Datei haben immer die gleichen Rechte. Gegen löschen kann man - wie geschrieben, etwas tun - gegen Verändern so nicht. Kann ja auch sein, dass jemandem nicht bewusst ist, dass eine Änderung einer Datei auch Auswirkungen auf alle anderen hat.Das sind Hardlinks, die muss man nicht löschen. Die kann man auch durch Verändern/Editieren unbrauchbar machen. Nur der Eigentümer sollte Schreibrechte darauf haben...
Vielleicht ist es doch besser, allen Personen nur Leserechte darauf zu geben. Organisieren können die das dann mit einer Fotoverwaltung, die die Originalbilder nicht verändert.
Re: Multiple Hardlinks auf Dateien in Verzeichnisbaum
auf den Hauptordner kann nur root zugreifenheisenberg hat geschrieben:18.08.2023 00:44:44Ich würde das Hauptverzeichnis, d. h. das übergeordnete Verzeichnis, an dem die 1. Kopie aller Bilder sind bzgl. der Rechte so setzen, dass da niemand außer dem Admin rein kann. Nicht das aus Versehen jemand den letzten Hardlink löscht, d. h. manche Bilder dann endgültig löscht. Backup hilft natürlich auch dagegen.
ersteres ist richtig, hochgeladen kann aber nur in den jeweils zugewiesenen "Userspace" werden; wenn gewünscht, können dann alle "privaten Originale" in den Hauptordner als Hardlinks gedoppelt werden; eine Mischung könnte es also nur auf Seiten des Benutzers geben (und auch in dem Fall, dass alle Benutzer ihren Hardlink auf eine bestimmte Datei gelöscht haben -- aber da wären immer noch alle Bilder im Master-Verzeichnis komplett, denn hier wird ja nichts gelöscht)heisenberg hat geschrieben:18.08.2023 00:44:44Weiterhin: Wird es nicht so laufen, dass jede:r Nutzer:in auch selber Bilder hochlädt und die sind dann keine Hardlinks mehr? D. h. nach einer Zeit lang der Benutzung ist dass dann eine Mischung zwischen mehrfach hartverlinkten Dateien und solchen ohne weitere Hardlinks?
könntest Du das "Unbrauchbarmachen" noch näher ausführen?tobo hat geschrieben:18.08.2023 00:56:29Das sind Hardlinks, die muss man nicht löschen. Die kann man auch durch Verändern/Editieren unbrauchbar machen. Nur der Eigentümer sollte Schreibrechte darauf haben...
ich weiss nicht, ob ich das richtig verstehe, dass bei verschiedenen Inodes, die auf dieselbe Datei zeigen, die Metadaten (Änderungsdatum, Rechte, aber auch Besitzer und Gruppe) gleich sind, Dateiname und Pfad aber anders sein können?
falls dem so ist, dann hätten alle User nur Leserechte (e.g. 644 oder 640), somit bleibt das Original unverändert; es müsste aber jede/r die Datei umbenennen, verschieben und auch löschen können -- oder sehe ich das falsch?
Re: Multiple Hardlinks auf Dateien in Verzeichnisbaum
Leider habe ich nirgendwo gelesen, wie du überhaupt die Hardlinks erzeugst. Bei einem Backupscript vor einigen Jahren habe ich dafür die Option "--link-dest" von rsync verwendet. Somit kannst du eigentlich von Dritten angelegte Ordner per rsync -av quelle ziel --link-dest=DIR ganz einfach mit diesem Parameter in deinen Admin-Ordner oder sonstwo per Hardlink hinkopieren.
Code: Alles auswählen
-link-dest=DIR hardlink to files in DIR when unchanged
Re: Multiple Hardlinks auf Dateien in Verzeichnisbaum
[Eintrag gelöscht]
Re: Multiple Hardlinks auf Dateien in Verzeichnisbaum
Ich habe noch mal nachgedacht. Die Idee, die ich für nicht wirklich sinnvoll halte, ist eigentlich nur der Spezialfall von inkrementellen Backups. Die Version im Master-Ordner ist die erste und einzige inkrementelle "Backup-Version" der Originaldaten. Hierbei wird für rsync beim Parameter --link-dest nicht die letzte Backup-Version wie in meinem Script oben (existiert ja nicht), sondern die Original-Version verwendet. Ich glaub ich habe das mal vor +10 oder +20 Jahren mal verwendet, um innerhalb einer "Pseudo-Kopie" einer großen Datenmenge irgendwelche Tests (Lesen und Schreiben) durchführen zu können. Das ist vor allen dann sinnvoll, wenn man vor allen Lese- und wenig Schreiboperationen durchführt.
Re: Multiple Hardlinks auf Dateien in Verzeichnisbaum
Wie heisenberg schon schrieb, die Veränderung einer Datei hat auch Auswirkungen auf ihre Hardlinks:kalamazoo hat geschrieben:18.08.2023 07:53:26könntest Du das "Unbrauchbarmachen" noch näher ausführen?tobo hat geschrieben:18.08.2023 00:56:29Das sind Hardlinks, die muss man nicht löschen. Die kann man auch durch Verändern/Editieren unbrauchbar machen. Nur der Eigentümer sollte Schreibrechte darauf haben...
Code: Alles auswählen
$ echo abc >f1
$ ln f1 f2
$ cat f1 f2
abc
abc
$ >f2 </dev/null
$ cat f1 f2
$
Re: Multiple Hardlinks auf Dateien in Verzeichnisbaum
über die Umsetzung habe ich mir noch keine Gedanken gemacht, die Option per rsync kenne ich allerdings; und Danke für den Link zum Skript, werde ich mir vor Umsetzung noch genauer ansehenuname hat geschrieben:18.08.2023 08:15:10Leider habe ich nirgendwo gelesen, wie du überhaupt die Hardlinks erzeugst. Bei einem Backupscript vor einigen Jahren habe ich dafür die Option "--link-dest" von rsync verwendet. Somit kannst du eigentlich von Dritten angelegte Ordner per rsync -av quelle ziel --link-dest=DIR ganz einfach mit diesem Parameter in deinen Admin-Ordner oder sonstwo per Hardlink hinkopieren.Code: Alles auswählen
-link-dest=DIR hardlink to files in DIR when unchanged
Welche Idee hältst Du nicht für sinnvoll, meinen Zugang mit den multiplen Inodes oder Deinen Vorschlag via rsync?uname hat geschrieben:18.08.2023 09:59:55Die Idee, die ich für nicht wirklich sinnvoll halte, ist eigentlich nur der Spezialfall von inkrementellen Backups. Die Version im Master-Ordner ist die erste und einzige inkrementelle "Backup-Version" der Originaldaten. Hierbei wird für rsync beim Parameter --link-dest nicht die letzte Backup-Version wie in meinem Script oben (existiert ja nicht), sondern die Original-Version verwendet.
Ja, im Master-Ordner liegen die Originale (wenn man bei mehreren Hardlinks überhaupt von Originalen reden kann).
Ja, aber ohne Schreibrechte müsste es ja funktionieren, da die ursprüngliche Datei ja noch vorhanden ist. Also: alle können ihren Hardlink umbenennen, verschieben oder löschen, aber dies hätte keine Auswirkungen auf das Original im Master-Ordner, da -rw-r-----tobo hat geschrieben:18.08.2023 10:50:51Wie heisenberg schon schrieb, die Veränderung einer Datei hat auch Auswirkungen auf ihre Hardlinks:Code: Alles auswählen
$ echo abc >f1 $ ln f1 f2 $ cat f1 f2 abc abc $ >f2 </dev/null $ cat f1 f2 $
Das zumindest würde aus meinem derzeitigen Wissensstand folgen:
kalamazoo hat geschrieben:18.08.2023 07:53:26ich weiss nicht, ob ich das richtig verstehe, dass bei verschiedenen Inodes, die auf dieselbe Datei zeigen, die Metadaten (Änderungsdatum, Rechte, aber auch Besitzer und Gruppe) gleich sind, Dateiname und Pfad aber anders sein können?
falls dem so ist, dann hätten alle User nur Leserechte (e.g. 644 oder 640), somit bleibt das Original unverändert; es müsste aber jede/r die Datei umbenennen, verschieben und auch löschen können -- oder sehe ich das falsch?
Re: Multiple Hardlinks auf Dateien in Verzeichnisbaum
Nicht sinnvoll, da man z.B. Backups auf physisch anderen Platten macht.
Re: Multiple Hardlinks auf Dateien in Verzeichnisbaum
Es soll ja -- wie oben dargestellt -- KEIN Backup sein, sondern mehreren Personen ihren individuell gestalteten Photoordner ermöglichen, ohne die gleichen Dateien vielfach auf demselben NAS zu haben. Backup ist ein anderes Thema und klarerweise nur auf einem anderen Gerät sinnvoll. Dennoch könnte man wohl rsync zum erstellen der Hardlinks verwenden. Als "Spezialfall von inkrementellen Backups" kann man es wohl insofern sehen, als es einem "Backup" ohne einer einzigen neuen Datei gliche, bei dem also überhaupt nichts gesichert sondern alles nur verlinkt wird. Der gewünschte Zweck müsste aber so erreicht werden.uname hat geschrieben:18.08.2023 21:11:49Nicht sinnvoll, da man z.B. Backups auf physisch anderen Platten macht.
Unbeantwortet ist noch meine Frage, ob die "Sicherheit" der Dateien im Masterordner dadurch gewährleistet werden kann, dass man den gewöhnlichen Benutzern die Schreibrechte entzieht. Diese könnten mit ihren Hardlink dann machen, was sie wollen (verschieben, umbenennen, löschen), der Inhalt des Originalordners bliebe davon jedoch unberührt. Ist hier irgendwo ein Denkfehler?