Berechtigungsproblem bei gemeinsamen Daten für Container

exaveal

New Member
Apr 8, 2025
9
1
3
Servus!

Ich bin noch Neuling in Sachen Proxmox und kämpfe mit einem grundsetzlichem Verständnis Problem was (Schreib-)Berechtigungen betrifft.

Ich habe auf meinem Proxmox mehrere Applikation in einzelne LXC separiert.
Ein LXC virtualisiert ein NAS, der gemeinsame Mediadaten für alle LXCs via NFS bereitstellt.

Aufbau:
  1. LXC NAS: stellt via NFS den Ordner /media für alle anderen LXCs bereit. Alle Daten gehören www-data:www-data
  2. LXC Nextcloud: greift auf die Daten von LXC NAS mit dem User www-data zu. Kein Problem beim Schreiben und Lesen.
  3. LXC Jellyfin: Installation über Proxmox Community Scripts. Jellyfin greift auf die Daten von LXC NAS mit dem User jellyfin zu. Jellyfin kann die Daten lesen, da der User jellyfin in der Gruppe www-data ist. Wenn Jellyfin aber jetzt Daten auf das NAS schreibt (bspw. die nfo Datei eines Films), wird die Datei mit der Ownership jellyfin:jellyfin angelegt. Die nfo Datei kann dann von LXC Nextcloud nicht verändert werden, weil sie nicht der Gruppe www-data gehört.
  4. LXC Sabnzbd: Installation über Proxmox Community Scripts. Sabnzbd läuft unter dem root user. Wenn Sabnzbd eine Datei heruntergeladen hat, wird sie mit der Ownership root:root angelegt. Damit kann die Datei vom LXC Nextcloud nicht verändert werden. Die Datei gehört nicht der Gruppe www-data.

Ich habe jetzt mal testweise im 3. LXC Jellyfin den user Jellyfin die Gruppe www-data als primary group gesetzt:
Code:
usermod -g www-data jellyfin

Jetzt wird jede Datei, die jellyfin schreibt mit der Ownership jellyfin:www-data erzeugt. (Allerdings scheint jellyfin jetzt selber nicht mehr sauber zu laufen, weiß aber nicht ob es daran liegt)


Ist das der richtige Weg?
Habe ich irgendwo ein Verständnisproblem?
Und wie sage Sabnzbd, dass unter dem user "root" läuft, die Datei mit ownership "egal:www-data" zu erstellen?
 
Für SabNZBd gibt es die Möglichkeit mit einem Post-Script, Besitzer und Rechte zu ändern. Mach ich auch so.

post.png

Für Jellyfin wirst du wohl beim Ersteller des Scriptes sicher Hilfe finden .....

ABER warum schreiben die alle in den selben Ordner? Wenn du es nach Dienst aufteilst kann doch jeder seine eigenen Rechte haben!?!
 
Das wäre eine Lösung für SAbnzbd, das schaue ich mir an! Allerdings nicht auf andere Applikationen übertragbar.

Alle Applikationen/LXCs greifen via mount-bind auf die nfs-freigaben des NAS zu. Warum sie alle in den gleichen Ordner schreiben? Weil sie die Daten zusammen nutzen sollen. Ich denke ausführlicher als das Beispiel kann ich oben nicht machen. Aber ich versuche es nochmal in anderen Worten.

1. Nextcloud hat die Daten als "external storage" eingebunden. Nexcloud läuft unter User www-data. Nextcloud soll die Daten selbst natürlich lesen und schreiben dürfen!
2. Jellyfin hat die gleichen Daten als Bibliotheken eingebunden, bspw. um Musik abzuspielen - aber auch um die Musik-Dateien mit Meta-Daten anzureichern (nfo dateien, grafikdatein, album cover, ...). Jellyfin soll also nicht nur lesen, sondern auch schreiben können. Jeder Datensatz der aber von Jellyfin erstellt wird, hat die Ownership jellyfin:jellyfin. Auch wenn der User jellyfin in der Gruppe www-data ist (und damit bestehende Daten lesen und schreiben kann), wird bei Neuanlage einer Datei die Ownership auf jellyyfin:jellfyin gesetzt und kann damit bspw. nicht mehr von Nextcloud gelesen oder geschrieben werden.