So konfigurieren Sie Container-Benutzer-IDs über mehrere NAS-Freigaben hinweg

Eva Wong ist die Technische Redakteurin und und leidenschaftliche Tüftlerin bei ZimaSpace. Eine lebenslange Geek mit einer Leidenschaft für Homelabs und Open-Source-Software, sie spezialisiert sich darauf, komplexe technische Konzepte in zugängliche, praktische Anleitungenzu übersetzen. Eva ist der Meinung, dass Self-Hosting Spaß machen und nicht einschüchternd sein sollte. Durch ihre Tutorials befähigt sie die Community, Hardware-Setups zu entmystifizieren, vom Bau ihres ersten NAS bis hin zur Beherrschung von Docker-Containern.

Konfigurieren Sie Container-Benutzer-IDs über mehrere NAS-Freigaben hinweg, indem Sie die tatsächliche numerische Identität jedes Containerprozesses dem Besitzer, der Gruppe, der ACL und dem Einbindemodus jeder benötigten Freigabe zuordnen.

Erzwingen Sie nicht, dass eine einzige UID Eigentümer jedes Datensatzes ist, und verwenden Sie chmod 777 nicht als Integrationsstrategie. Ein Medienserver benötigt möglicherweise schreibgeschützten Zugriff auf Fotos, ein Downloader Lese-/Schreibzugriff auf eine Eingangsfreigabe und ein Backup-Container ein anderes geschütztes Ziel. Verwenden Sie den Besitzer für die primäre Zuständigkeit sowie Gruppen oder ACLs für den gemeinsamen Zugriff.

Erfassen Sie die drei Identitäten, bevor Sie Berechtigungen ändern

Erfassen Sie für jeden Dienst die NAS-seitige Besitzer-UID/GID, den numerischen Benutzer und die Gruppen des Prozesses innerhalb des Containers sowie jede imagespezifische Identitätskonvention wie PUID/PGID. Diese drei Werte werden häufig verwechselt, weil Benutzernamen identisch aussehen können, während sich die numerischen IDs unterscheiden.

Eine aktuelle Erklärung zu PUID und PGID macht den Unterschied deutlich: PUID und PGID sind Variablen, die von ausgewählten Container-Images interpretiert werden, und keine universellen Docker-Einstellungen.

Überprüfen Sie den laufenden Prozess mit id innerhalb des Containers und untersuchen Sie Hostdateien anhand ihrer numerischen Besitzverhältnisse. Gehen Sie nicht davon aus, dass die in Compose eingetragenen Werte den Prozess tatsächlich steuern, sofern das Image diese Methode nicht unterstützt.

Verwenden Sie einen primären Besitzer und gemeinsame Gruppen für dienstübergreifende Daten

Eine Freigabe, die von einer Anwendung verwendet wird, kann einen dedizierten Besitzer haben. Eine Freigabe, in die mehrere Dienste schreiben, lässt sich meist einfacher mit einer gezielt eingerichteten gemeinsamen Gruppe oder ACL verwalten, die nur die erforderlichen Vorgänge erlaubt.

Eine praxisnahe Erklärung zu numerischem UID- und GID-Besitz zeigt, warum Dateien in Bind-Mounts dem numerischen Besitz des Hosts folgen und warum das Angleichen oder gezielte Zuordnen dieser IDs verhindert, dass Ausgaben dem Benutzer root gehören oder Berechtigungsfehler auftreten.

In einem Medien-Workflow kann der Downloader beispielsweise Eigentümer seiner Bereitstellungsdateien sein, während Downloader und Organisator beide der Gruppe media angehören. Richten Sie Vererbung für Verzeichnisse, Standard-ACLs oder ein geeignetes Umask-Verhalten ein, damit neue Dateien den gemeinsamen Zugriff automatisch beibehalten.

Geben Sie jeder Freigabe nur die vom Container benötigten Einbinderechte

Die Identität ist nur eine Ebene. Eine korrekt zugeordnete UID kann weiterhin nicht über einen schreibgeschützten Bind-Mount schreiben, und ein Container mit weitreichenden Dateisystemberechtigungen kann dennoch sicher eingeschränkt werden, indem eine Bibliothek schreibgeschützt eingebunden wird.

Eine Erklärung zu Laufzeitüberschreibungen für Benutzer aus dem Jahr 2026 erläutert, wie Bind-Mounts den Besitz des Hosts verwenden und wie Laufzeiteinstellungen mit user: Prozess-IDs angleichen können. Zugleich wird darauf hingewiesen, dass das Erzwingen eines Benutzers Images beeinträchtigen kann, deren Startlogik andere Berechtigungen erwartet.

Dokumentieren Sie jeden Hostpfad, jeden Containerpfad, den Einbindemodus, die erforderlichen Vorgänge und den zuständigen Dienst. Verwenden Sie schreibgeschützte Einbindungen für Bibliotheken, die ein Dienst nur liest, und beschränken Sie Schreibzugriff auf den kleinsten Pfad, der ihn tatsächlich benötigt.

-15% OFF

Gehen Sie bewusst mit mehreren NAS-ACL-Modellen um

SMB-/NFSv4-ACLs, POSIX-ACLs, die NFS-Identitätszuordnung und einfache Unix-Modusbits können unterschiedliche Zugriffsansichten darstellen. Eine Freigabe, die über SMB als ein NAS-Benutzer funktioniert, kann einen Containerprozess mit einer anderen numerischen Identität auf dem Host dennoch ablehnen.

Der zugehörige ZimaSpace-Artikel über Änderungen an NAS-Berechtigungen zeigt, warum die ACL-Vererbung am Ziel, die SMB-Identität, die Container-UID/GID und Umask als getrennte Ebenen diagnostiziert werden müssen.

Wenn mehrere Protokolle auf einen Datensatz zugreifen, wählen Sie ein Berechtigungsmodell und dokumentieren Sie es. Wiederholtes Vermischen von ACL-Änderungen in der NAS-GUI mit Shell-Befehlen wie chmod und chown kann dazu führen, dass sich die nächste Datei anders verhält als die vorherige.

Testen Sie die Dateierstellung durch jeden Schreibdienst, bevor Sie rekursive Änderungen anwenden

Erstellen Sie ein temporäres Testverzeichnis mit dem vorgesehenen Besitz und den vorgesehenen ACLs. Testen Sie aus jedem Container das Auflisten, Lesen, Erstellen, Umbenennen und Löschen – und zwar nur die Vorgänge, die der Dienst benötigt. Prüfen Sie anschließend auf dem NAS den numerischen Besitzer, die Gruppe, den Modus und die geerbte ACL der neuen Datei.

Wenn alte Dateien funktionieren, neu erstellte Dateien jedoch bei einem anderen Dienst fehlschlagen, beheben Sie den Erstellungsweg: Gruppenmitgliedschaft, Standard-ACL, Umask oder anwendungsspezifischer Dateimodus. Eine rekursive Reparatur alter Daten verhindert nicht, dass dieselbe Abweichung morgen erneut auftritt.

Führen Sie die Konfiguration erst dann in der Produktion ein, wenn jeder Schreibdienst Dateien erstellt, die der nächste erforderliche Dienst ohne erhöhte Berechtigungen verwenden kann. Ein sauberes UID-/GID-Design ist wiederherstellbar, weil die Zuordnung dokumentiert und wiederholbar ist – nicht, weil zufällig jeder Container als derselbe Benutzer ausgeführt wird.

Support & Tipps

Mehr zum Lesen

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.