Dass Plex eine Datei abspielen kann, sie aber nicht löschen kann, ist ein deutlicher Hinweis auf ein Berechtigungsproblem. Leseberechtigung sowie Lösch- und Schreibberechtigung sind unterschiedliche Vorgänge. Im Ausgangsfall lagen die Medien auf einer eingebundenen Dateifreigabe, Plex konnte sie lesen, und beim Löschen erschien die Meldung „Beim Löschen der Datei ist ein Problem aufgetreten.“
Der ursprüngliche Verfasser hat die CIFS-Freigabe schließlich mit weit gefassten Modi 0777 und noperm erneut eingebunden, wodurch das Verzeichnis beschreibbar wurde. Das zeigt, dass das Problem in der effektiven Berechtigungs- bzw. Dateisystemebene des Mounts lag, ist aber als bevorzugte dauerhafte Konfiguration zu freizügig.
„root“ im Container ist nicht die ganze Berechtigungsgeschichte
Der Benutzer gewährte Host-root-Zugriff, weil der Plex-Container scheinbar als root ausgeführt wurde. Ein Docker-Container greift auf ein per Bind-Mount eingebundenes SMB-/CIFS-Dateisystem weiterhin über Besitz, Modus, ACLs und Mount-Optionen des Host-Mounts zu.
Die Vergabe von Host-root-Berechtigungen an anderer Stelle ändert nicht automatisch, wie ein CIFS-Mount den Dateibesitz im Container darstellt.
Zum Löschen einer Datei ist Schreibberechtigung für das übergeordnete Verzeichnis erforderlich
Auf Unix-ähnlichen Dateisystemen ist das Löschen einer Datei hauptsächlich ein Verzeichnisvorgang. Plex kann daher eine Mediendatei erfolgreich lesen, sie aber nicht entfernen, wenn das eingebundene übergeordnete Verzeichnis für die effektive Identität von Plex nicht beschreibbar ist.
Die tatsächliche Container-Identität an den Mount anpassen
Die Community empfahl, Benutzer- und Gruppenzugehörigkeit des Plex-Containers an den Besitz des Host-Ordners anzupassen. Das ist ein gutes, dauerhaftes Prinzip. Gehen Sie jedoch nicht davon aus, dass Plex immer mit einer universellen UID ausgeführt wird.
Prüfen Sie die aktuelle Container-Konfiguration und den effektiven Besitz, der durch den CIFS-Mount dargestellt wird, bevor Sie PLEX_UID/PUID/PGID ändern.
Im Ausgangsfall wurden 0777 und noperm als weitreichender Workaround verwendet
Im abschließenden Beitrag des Ausgangsfalls wurde CIFS mit Optionen eingebunden, die Folgendem entsprachen:
file_mode=0777,dir_mode=0777,noperm
Dadurch kann die Freigabe praktisch für jede lokale Identität beschreibbar werden, während normale clientseitige Berechtigungsprüfungen deaktiviert werden. Das ist ein nützlicher Hinweis darauf, dass die Mount-Richtlinie Plex blockierte, sollte aber nicht die erste dauerhafte Lösung sein.
Eine dedizierte Medienidentität oder -gruppe bevorzugen
Ein sichereres Design besteht darin, die Freigabe so einzubinden, dass die Dateien und Verzeichnisse dem Benutzer bzw. der Gruppe gehören, die Plex verwenden soll, oder einer gemeinsamen Mediengruppe. Gewähren Sie Schreibberechtigungen nur dort, wo Plex Dateien löschen können muss.
Wenn Plex die meisten Bibliotheken nur lesen soll, sollten Sie nur bestimmte verwaltete Ordner beschreibbar machen.
Auch die Plex-Volume-Zuordnung überprüfen
Plex sollte den medienbezogenen Pfad im Container verwenden, während ZimaOS diesen Pfad dem Mount auf dem Host zuordnet. Die aktuelle Dokumentation von IceWhale erläutert diese Beziehung zwischen Host und Container.
Verwenden Sie das aktuelle Docker-Pfadmodell von ZimaOS, bevor Sie den Besitz ändern.
Plex muss das Löschen von Medien ebenfalls erlauben
Selbst bei korrekten Dateisystemberechtigungen müssen die eigenen Bibliotheks- bzw. Servereinstellungen von Plex das Löschen gegebenenfalls erlauben. Ein Dateisystemtest aus dem Container kann dabei helfen, ein „Plex-Einstellungsproblem“ von einem „Betriebssystem-Berechtigungsproblem“ zu unterscheiden.
Mit einer einzelnen entbehrlichen Datei testen
Erstellen oder kopieren Sie eine kleine Testdatei in den betreffenden Medienordner, bestätigen Sie, dass Plex sie sehen kann, löschen Sie sie anschließend über Plex und prüfen Sie, ob sie auch von der zugrunde liegenden Freigabe verschwindet. Testen Sie Berechtigungsänderungen nicht zuerst durch das Löschen einzigartiger Medien.
FAQ zum Löschen mit Plex
Beweist das Lesen einer Datei durch Plex, dass die Datei auch gelöscht werden kann?
Nein. Zum Löschen ist Schreibberechtigung für das enthaltene Verzeichnis erforderlich.
Hat chmod bzw. der Mount-Modus 0777 im Ausgangsfall funktioniert?
Der Benutzer berichtete von Erfolg nach einem sehr freizügigen CIFS-Remount. Dies ist jedoch nicht das bevorzugte Prinzip der geringstmöglichen Berechtigungen.
Behebt alleiniger Host-root-Zugriff ein Plex-SMB-Löschproblem?
Nein. Der effektive Besitz und Modus des CIFS-Mounts sowie die Identität des Containers bestimmen weiterhin das Schreibverhalten.
