Wątek źródłowy pokazuje, dlaczego stwierdzenia „aplikacja nie może zapisywać na RAID” nie należy od razu traktować jako pojedynczego błędu uprawnień ZimaOS. Pierwsza odpowiedź społeczności twierdziła, że kontenery ze Sklepu aplikacji zwykle mają dostęp tylko do odczytu poza własnym katalogiem AppData, chyba że folder został utworzony lub „dotknięty” za pośrednictwem aplikacji Pliki. Autor oryginalnego wpisu zrobił dokładnie to, a mimo to nadal nie mógł tworzyć folderów SFTPGo ani usuwać muzyki z Navidrome.
Po tych kontrprzykładach autor odpowiedzi zmienił wyjaśnienie: własność systemu plików to tylko jedna warstwa. Każda aplikacja ma również własnego użytkownika kontenera, oczekiwane ścieżki wewnętrzne i określone granice funkcjonalne. To późniejsze sprostowanie jest bardziej wiarygodną lekcją.
Istnieją trzy różne warstwy uprawnień
- Pamięć masowa hosta ZimaOS: rzeczywisty folder RAID-u lub dysku oraz jego właściciel i tryb uprawnień.
- Mapowanie woluminu Docker: to, czy folder hosta jest zamontowany w kontenerze oraz czy montowanie odbywa się tylko do odczytu.
- Działanie aplikacji: użytkownik, z którym działa aplikacja, oraz to, czy samo oprogramowanie obsługuje tworzenie, usuwanie lub zmianę nazw plików.
Awaria na dowolnej z tych warstw może wyglądać jak „odmowa dostępu”.
Utworzenie folderu w aplikacji Pliki nie było uniwersalnym rozwiązaniem
Początkowa sugestia polegała na utworzeniu lub przeniesieniu folderu docelowego za pośrednictwem aplikacji Pliki ZimaOS, aby prawidłowo zastosować jego własność. Autor oryginalnego wpisu utworzył na RAID-zie folder srv/data, wskazał go w SFTPGo, a mimo to nadal otrzymywał błędy odmowy dostępu.
Dlatego metody z użyciem aplikacji Pliki nie można przedstawiać jako gwarantowanego rozwiązania dla wszystkich aplikacji.
SFTPGo potrzebuje zapisywalnej ścieżki zgodnej z użytkownikiem procesu i konfiguracją
SFTPGo działa z własnymi uprawnieniami oraz regułami dotyczącymi folderów wirtualnych i katalogu domowego. Folder hosta może istnieć i być widoczny, a mimo to pozostawać niezapisywalny dla procesu SFTPGo.
W przypadku bieżącego wdrożenia sprawdź jednocześnie folder hosta, tryb montowania Dockera, identyfikatory UID/GID kontenera oraz skonfigurowany katalog domowy lub folder wirtualny użytkownika SFTPGo.
Navidrome jest przede wszystkim serwerem biblioteki multimediów
Autor odpowiedzi źródłowej stwierdził, że Navidrome należy traktować jako aplikację tylko do odczytu w zakresie zarządzania biblioteką oraz że usuwanie utworów z poziomu Navidrome nie było w jego kontekście obsługiwane. Niemożność usunięcia utworu przez użytkownika nie była więc dobrym dowodem na powszechną awarię uprawnień RAID-u.
Zarządzaj źródłowymi plikami muzycznymi za pomocą aplikacji Pliki lub innego narzędzia do zarządzania plikami, chyba że konkretna, aktualna wersja Navidrome dokumentuje obsługiwaną funkcję modyfikowania plików.
Sprawdź, czy wolumin Docker jest zamontowany tylko do odczytu
Mapowanie woluminu może jawnie używać trybu tylko do odczytu. Jeśli aplikacja ma modyfikować pliki, folder hosta musi być zmapowany w trybie odczytu i zapisu, a tożsamość procesu musi mieć uprawnienia do zapisu w systemie plików hosta.
Obecna wersja ZimaOS pozwala sprawdzać i edytować mapowania woluminów aplikacji w ustawieniach aplikacji.
Obecna wersja ZimaOS wyraźniej pokazuje ścieżki hosta i kontenera
IceWhale dokumentuje obecnie zależność między ścieżkami po stronie aplikacji, takimi jak /config lub /media, a rzeczywistymi folderami pamięci masowej, które je obsługują.
Przed użyciem rekurencyjnych poleceń chmod/chown jako pierwszej reakcji zapoznaj się z aktualnym modelem ścieżek aplikacji ZimaOS.
Nie używaj chmod 777 jako skrótu diagnostycznego
Szerokie uprawnienia do zapisu mogą ukryć rzeczywisty problem i udostępnić współdzielone dane niezwiązanym procesom. Nie naprawią też aplikacji, która celowo otwiera wolumin tylko do odczytu lub odrzuca daną ścieżkę z powodu własnej konfiguracji.
Zmieniaj tylko minimalne uprawnienia właściciela lub grupy wymagane przez aplikację.
Lepsza kolejność diagnostyki
- Potwierdź dokładny folder hosta w ZimaOS.
- Potwierdź, że wolumin aplikacji mapuje ten folder na oczekiwaną ścieżkę kontenera.
- Sprawdź, czy mapowanie jest tylko do odczytu.
- Ustal UID/GID lub użytkownika, z którym działa kontener.
- Sprawdź, czy ta tożsamość może zapisywać w folderze hosta.
- Potwierdź, że sama aplikacja obsługuje daną operację.
Często zadawane pytania dotyczące uprawnień pamięci aplikacji
Czy ponowne utworzenie folderu w aplikacji Pliki ZimaOS rozwiązało pierwotny problem z SFTPGo?
Nie. Autor oryginalnego wpisu spróbował tego, ale nadal otrzymywał komunikat o odmowie dostępu.
Czy folder RAID-u dostępny do odczytu automatycznie staje się zapisywalny wewnątrz każdej aplikacji?
Nie. Nadal mają znaczenie tryb montowania Dockera, UID/GID kontenera oraz działanie aplikacji.
Czy Navidrome powinien być używany jako uniwersalny menedżer plików?
Nie. Traktuj źródło muzyki jako zarządzane poza Navidrome, chyba że aktualna aplikacja wyraźnie obsługuje modyfikowanie plików.
