Rozwiązanie społecznościowe

Napraw błędy uprawnień folderów Dockera w ZimaOS z exFAT oraz PUID/PGID

A February 2026 ZimaOS permissions thread where HandBrake could read but not write to an exFAT drive. The discussion showed why changing container PUID/PGID does not create POSIX ownership on exFAT and why host mount behavior matters.

Zmiana wartości PUID i PGID w aplikacji Docker nie gwarantuje, że kontener będzie mógł zapisywać w każdym systemie plików hosta. W wątku z lutego 2026 roku HandBrake nie mógł zapisywać na dysku SSD zamontowanym w /media/sda2, nawet po wypróbowaniu przez użytkownika kilku identyfikatorów użytkownika i grupy.

Decydujące znaczenie miał system plików: dysk był sformatowany jako exFAT i zamontowany jako należący do użytkownika root. exFAT nie zapewnia standardowego linuksowego przypisywania właścicieli plików za pomocą UID/GID w taki sam sposób jak ext4, dlatego sama zmiana użytkownika kontenera nie mogła naprawić uprawnień punktu montowania hosta.

Problem nie dotyczył wyłącznie użytkownika kontenera

Użytkownik pokazał, że kontener HandBrake miał już ustawione wartości PUID i PGID, ale folder na hoście nadal był wyświetlany jako należący do użytkownika root. Jeden z członków społeczności słusznie rozdzielił tożsamość Dockera od zasad działania systemu plików hosta.

To rozróżnienie dotyczy wielu aplikacji hostowanych samodzielnie: kontener może korzystać wyłącznie z uprawnień udostępnianych przez punkt montowania hosta.

exFAT korzysta z mapowania uprawnień na poziomie montowania

exFAT jest przydatny do przenoszenia dysków między systemami operacyjnymi, ale nie przechowuje linuksowych właścicieli ani bitów uprawnień tak jak ext4. Zachowanie UID, GID i masek jest ustalane podczas montowania systemu plików.

Dlatego zwykłe próby użycia chown lub chmod na dysku exFAT mogą wydawać się nieskuteczne, mimo że te same polecenia działają normalnie w przypadku ext4.

Obecna wersja ZimaOS wymienia exFAT jako obsługiwany system plików do odczytu i zapisu. Opisuje to podstawowy dostęp do systemu plików, a nie zachowanie uprawnień POSIX specyficzne dla Dockera. Przed podjęciem decyzji, czy na dysku serwera ważniejsza jest przenośność, czy uprawnienia typowe dla Linuksa, sprawdź aktualną tabelę obsługiwanych systemów plików.

W tym przypadku formatowanie za pomocą interfejsu również się nie powiodło

Formatowanie pamięci masowej w ZimaOS wyświetlające błąd statusu wyjścia 1 podczas próby ponownego formatowania dysku exFAT przez użytkownika
Użytkownik próbował przejść na konfigurację serwerową w stylu ext4, ale samo narzędzie formatujące ZimaOS zwróciło błąd.

Późniejsza inspekcja wykazała, że dysk był zamontowany w kilku lokalizacjach zarządzanych przez ZimaOS i pozostawał zajęty przez usługę Pliki. Wątek nie doprowadził do przedstawienia oficjalnej procedury naprawczej IceWhale, dlatego destrukcyjnych poleceń odmontowywania ani poleceń dotyczących fstab pochodzących z odpowiedzi społeczności nie należy publikować jako oficjalnych instrukcji.

Jawnie zamapuj folder hosta w kontenerze

Późniejsza odpowiedź pokazała poprawną koncepcyjnie konfigurację mapowania woluminu: wybierz rzeczywisty katalog na hoście i zamapuj go na ścieżkę oczekiwaną przez aplikację w kontenerze.

Mapowanie woluminu aplikacji ZimaOS z folderu hosta w /media do /app/miningcore wewnątrz kontenera Docker
Mapowanie rozwiązuje problem widoczności ścieżki w kontenerze; system plików hosta nadal musi zapewniać uprawnienia zapisu użytkownikowi kontenera.

Dlaczego ext4 jest prostszy w przypadku pamięci masowej kontenerów używanych wyłącznie z Linuksem

Społeczność zaleciła użycie ext4 na dysku przeznaczonym do obciążeń Docker, ponieważ ext4 obsługuje standardowe linuksowe właścicielstwo i bity uprawnień. Jest to praktyczna rekomendacja dotycząca administracji Linuksem, a nie wymaganie IceWhale, zgodnie z którym każdy dysk danych ZimaOS musi używać ext4.

Jeśli ważniejsza jest przenośność między systemami, exFAT nadal może być odpowiednim wyborem, ale model właścicielstwa na poziomie montowania musi odpowiadać użytkownikom uruchamiającym kontenery.

Przechowuj dane aplikacji poza dyskiem systemowym

Obecna wersja ZimaOS pozwala użytkownikom wybrać lokalizację danych aplikacji i mapować rzeczywiste foldery pamięci masowej do kontenerów. Wyjaśnienie sposobu, w jaki foldery hosta stają się woluminami kontenerów warto przeczytać przed zmianą właściciela lub ponownym formatowaniem dysku.

Najczęstsze pytania dotyczące uprawnień do folderów Dockera

Dlaczego zmiana PUID i PGID nie naprawiła problemu z dyskiem exFAT?

Ponieważ exFAT nie przechowuje standardowych linuksowych informacji o właścicielu pliku. Sposób wyświetlania systemu plików procesom Linuksa określają UID, GID i maska punktu montowania.

Czy ZimaOS obsługuje odczyt i zapis na exFAT?

Tak. Obecna wersja ZimaOS wymienia exFAT jako system plików obsługujący odczyt i zapis, ale nie oznacza to równoważności z ext4 pod względem właścicielstwa POSIX.

Czy każdy dysk danych Dockera powinien używać ext4?

Nie zawsze, ale ext4 jest prostszy, gdy dysk jest przeznaczony dla linuksowych kontenerów zależnych od standardowych właścicieli i uprawnień.

Czy błąd formatowania został rozwiązany w wątku?

Nie opublikowano oficjalnego ostatecznego rozwiązania. Dysk pozostawał zajęty przez punkty montowania i usługi zarządzane przez ZimaOS.