Skonfiguruj identyfikatory użytkowników kontenerów w wielu udziałach NAS, mapując rzeczywistą identyfikację numeryczną każdego procesu kontenera na właściciela, grupę, listę ACL i tryb montowania każdego udziału, którego potrzebuje.
Nie wymuszaj jednego UID jako właściciela wszystkich zbiorów danych i nie używaj chmod 777 jako strategii integracji. Serwer multimediów może potrzebować dostępu tylko do odczytu do zdjęć, program do pobierania może potrzebować dostępu do odczytu i zapisu w udziale przychodzącym, a kontener kopii zapasowych może wymagać innego chronionego miejsca docelowego. Używaj własności do określania głównej odpowiedzialności, a grup lub list ACL do współdzielonego dostępu.
Zapisz trzy identyfikatory przed zmianą uprawnień
Dla każdej usługi zapisz identyfikator UID/GID właściciela po stronie NAS, numerycznego użytkownika i grupy procesu wewnątrz kontenera oraz wszelkie konwencje tożsamości charakterystyczne dla obrazu, takie jak PUID/PGID. Te trzy wartości są często mylone, ponieważ nazwy użytkowników mogą wyglądać identycznie, mimo że numeryczne identyfikatory się różnią.
Aktualne wyjaśnienie, czym są PUID i PGID, jasno pokazuje tę różnicę: PUID i PGID to zmienne interpretowane przez wybrane obrazy kontenerów, a nie uniwersalne ustawienia Dockera.
Zweryfikuj działający proces za pomocą id wewnątrz kontenera i sprawdź pliki hosta, używając numerycznych informacji o własności. Nie zakładaj, że wartości zapisane w Compose faktycznie sterują procesem, chyba że obraz obsługuje tę metodę.
Używaj głównego właściciela i współdzielonych grup dla danych między usługami
Udział używany przez jedną aplikację może mieć dedykowanego właściciela. Udział zapisywany przez kilka usług zwykle łatwiej zarządzać za pomocą celowo skonfigurowanej współdzielonej grupy lub listy ACL, która przyznaje tylko operacje wymagane przez te usługi.
Praktyczne wyjaśnienie własności opartej na numerycznych UID i GID pokazuje, dlaczego pliki montowane przez powiązanie zachowują numeryczną własność hosta oraz dlaczego dopasowanie lub celowe mapowanie tych identyfikatorów zapobiega tworzeniu plików należących do roota i awariom uprawnień.
Na przykład w przepływie pracy związanym z multimediami program do pobierania może być właścicielem plików tymczasowych, a zarówno program do pobierania, jak i organizator mogą należeć do grupy media. Ustaw dziedziczenie uprawnień katalogów, domyślne listy ACL lub odpowiednie zachowanie umask, aby nowe pliki automatycznie zachowywały współdzielony dostęp.
Przyznawaj każdemu udziałowi tylko prawa montowania potrzebne kontenerowi
Tożsamość to tylko jedna warstwa. Nawet poprawnie zmapowany UID nie może zapisywać przez montowanie powiązane tylko do odczytu, a kontener z szerokimi uprawnieniami systemu plików można nadal bezpiecznie ograniczyć, montując bibliotekę w trybie tylko do odczytu.
Wyjaśnienie z 2026 roku dotyczące nadpisywania użytkownika w czasie działania pokazuje, jak montowania powiązane korzystają z własności hosta oraz jak ustawienia user: w czasie działania mogą dopasować identyfikatory procesów, a jednocześnie ostrzega, że wymuszenie użytkownika może zepsuć obrazy, których logika uruchamiania oczekuje innych uprawnień.
Udokumentuj każdą ścieżkę hosta, ścieżkę kontenera, tryb montowania, wymagane operacje i odpowiedzialną usługę. Używaj montowań tylko do odczytu dla bibliotek, z których usługa jedynie korzysta, a dostęp do zapisu ogranicz do najmniejszej ścieżki, która rzeczywiście go wymaga.
Celowo obsługuj różne modele list ACL na NAS
Listy ACL SMB/NFSv4, listy ACL POSIX, mapowanie tożsamości NFS i proste bity trybu Unix mogą prezentować różne widoki dostępu. Udział, który działa przez SMB jako jeden użytkownik NAS, może nadal odrzucać proces kontenera korzystający z innej identyfikacji numerycznej na hoście.
Powiązany artykuł ZimaSpace na temat zmian uprawnień NAS pokazuje, dlaczego dziedziczenie list ACL w miejscu docelowym, tożsamość SMB, UID/GID kontenera i umask należy diagnozować jako osobne warstwy.
Gdy kilka protokołów korzysta z jednego zbioru danych, wybierz jeden model uprawnień i udokumentuj go. Wielokrotne mieszanie zmian list ACL w interfejsie NAS z poleceniami powłoki chmod i chown może sprawić, że kolejny plik będzie zachowywał się inaczej niż poprzedni.
Przetestuj tworzenie plików przez każdego zapisującego przed zastosowaniem zmian rekursywnie
Utwórz tymczasowy katalog testowy z docelową własnością i listą ACL. Z każdego kontenera przetestuj wyświetlanie zawartości, odczyt, tworzenie, zmianę nazwy i usuwanie, ograniczając się do operacji wymaganych przez daną usługę. Następnie sprawdź na NAS numerycznego właściciela, grupę, tryb i odziedziczoną listę ACL nowego pliku.
Jeśli stare pliki działają, ale nowo utworzone zawodzą w przypadku innej usługi, napraw ścieżkę tworzenia: członkostwo w grupie, domyślną listę ACL, umask lub tryb plików właściwy dla aplikacji. Rekurencyjna naprawa starych danych nie zapobiega powtórzeniu tego samego niedopasowania jutro.
Wdrażaj zmiany produkcyjnie dopiero wtedy, gdy każdy zapisujący tworzy pliki, z których następna wymagana usługa może korzystać bez podwyższonych uprawnień. Przejrzysty projekt UID/GID można odtworzyć, ponieważ mapowanie jest udokumentowane i powtarzalne, a nie dlatego, że każdy kontener przypadkiem działa jako ten sam użytkownik.
Wsparcie i wskazówki
Więcej do przeczytania

Jak dopasować zasady restartowania Dockera do baz danych, procesów roboczych i aplikacji internetowych
Dopasuj politykę ponownego uruchamiania do cyklu życia usługi i semantyki zakończenia. Połącz ją z kontrolami stanu i gotowości; nie używaj pętli ponownych uruchomień do...

Jak skonfigurować profile Docker Compose dla opcjonalnych usług serwera domowego
Pozostaw wymagane usługi bez profilu i używaj profili dla opcjonalnych narzędzi. Testuj bezpośrednie cele oraz zależności, zamiast zakładać, że profil uruchamia cały stos.

Jak zoptymalizować wykluczenia synchronizacji z chmurą dla metadanych aplikacji NAS
Klasyfikuj metadane aplikacji NAS według roli w przywracaniu. Wyklucz pamięci podręczne i stan tymczasowy, celowo chroń przenośną konfigurację, a aktywne bazy danych trzymaj poza...

