Możesz przetestować dostęp Jellyfin do zapisu bez tworzenia, zmieniania nazw ani usuwania czegokolwiek w rzeczywistych folderach multimediów. Najpierw potwierdź, którą ścieżkę faktycznie widzi proces Jellyfin, a następnie sprawdź tożsamość procesu i tryb montowania przed podjęciem jakiejkolwiek operacji zapisu.
Ma to największe znaczenie po migracji kontenera, ponownym zamontowaniu pamięci masowej lub zmianie uprawnień, gdy ścieżka hosta może wyglądać poprawnie, a Jellyfin widzi inne powiązanie montowania albo cel tylko do odczytu. Najbezpieczniejsza ścieżka diagnostyczna to najpierw obserwacja, następnie testowa sonda jednorazowego użytku, a zmiany w środowisku produkcyjnym dopiero po ustaleniu warstwy, w której występuje błąd.
Potwierdź, jaką ścieżkę faktycznie widzi Jellyfin
Rozpocznij w Jellyfin lub w jego kontenerze, a nie w powłoce hosta. Katalog hosta, taki jak /mnt/media/movies może być udostępniana Jellyfin jako /media/movies, więc test uprawnień przeprowadzony wyłącznie na ścieżce hosta może dowodzić czegoś niewłaściwego.
Oficjalny przewodnik po kontenerze Jellyfin pokazuje, że dostęp do multimediów zależy od powiązania montowania lub woluminu udostępnionego kontenerowi, a montowanie multimediów może być jawnie tylko do odczytu. Najpierw sprawdź definicję kontenera, aby testowana ścieżka i tryb dostępu odpowiadały ścieżce używanej przez Jellyfin w środowisku produkcyjnym. definicja montowania kontenera
Jeśli oczekiwana ścieżka biblioteki nie istnieje w kontenerze, zatrzymaj się. To problem z montowaniem, a nie z własnością w systemie Unix. Popraw mapowanie lub utwórz kontener ponownie z docelową ścieżką, zanim zmienisz uprawnienia na hoście.
Sprawdź tożsamość środowiska uruchomieniowego przed testowaniem uprawnień
Ustal identyfikator UID i GID używany przez proces Jellyfin. W natywnej instalacji systemu Linux jest to zazwyczaj jellyfin konto usługi; w kontenerze może to być numeryczny UID/GID przekazany przez środowisko uruchomieniowe. Porównaj tę tożsamość z właścicielem, grupą, bitami uprawnień i listami ACL katalogu docelowego.
Katalog może wyglądać na zapisywalny dla konta administratora, a jednocześnie pozostawać niedostępny dla tożsamości Jellyfin. Wytyczne Jellyfin dotyczące migracji wyraźnie zalecają sprawdzenie UID/GID i zachowanie zgodnych ścieżek podczas przenoszenia instalacji, dlatego przed każdą rekurencyjną zmianą właściciela należy zweryfikować tożsamość. identyfikator UID i GID procesu
Używaj poleceń inspekcji tylko do odczytu, takich jak id, stat, namei -l, lub getfacl jeśli jest dostępne. Jeśli jednemu z katalogów nadrzędnych brakuje uprawnienia wykonywania dla tożsamości Jellyfin, końcowy folder może mieć hojne uprawnienia, a mimo to pozostawać niedostępny.
Użyj tymczasowego katalogu sondy na tym samym magazynie
Nie uruchamiaj touch, testów zmiany nazwy ani testów usuwania w produkcyjnym katalogu filmów lub programów telewizyjnych tylko po to, aby potwierdzić dostęp do zapisu. Zamiast tego utwórz dedykowany katalog sondy poza biblioteką, w tym samym systemie plików lub udziale, i zamontuj go w kontenerze z takim samym trybem dostępu i modelem własności.
Uruchom sondę z tym samym UID/GID Jellyfin, a następnie utwórz i usuń plik testowy o unikalnej nazwie wyłącznie w tym tymczasowym katalogu. Pomyślne utworzenie i usunięcie potwierdza, że tożsamość, system plików, tryb montowania i podstawowa ścieżka zapisu działają razem, bez modyfikowania produkcyjnych multimediów.
Jeśli sonda zakończy się niepowodzeniem, odczytaj dokładny błąd. Odmowa dostępu wskazuje na tożsamość, bity uprawnień, listy ACL lub etykietowanie zabezpieczeń; System plików tylko do odczytu wskazuje na stan montowania lub systemu plików; Nie ma takiego pliku ani katalogu wskazuje na mapowanie ścieżki. Każdy wynik prowadzi do innego rozwiązania.
Oddziel uprawnienia hosta od montowania kontenera tylko do odczytu
Gdy host zgłasza, że katalog jest zapisywalny, ale sonda kontenera informuje o systemie plików tylko do odczytu, nie rozluźniaj uprawnień na hoście. Montowanie wiązane zadeklarowane za pomocą ro blokuje zapis niezależnie od chmod lub chown na hoście.
Oficjalne przykłady kontenerów celowo pokazują montowanie multimediów w trybie tylko do odczytu jako obsługiwaną konfigurację i zaznaczają, że dostęp do zapisu wymaga zmiany sposobu montowania. Dzięki temu tryb montowania stanowi jednoznaczne kryterium diagnostyczne, zanim zmodyfikujesz właściciela systemu plików. montowanie multimediów tylko do odczytu
Jeśli Twój sposób korzystania z Jellyfin wymaga tylko odczytu multimediów, pozostawienie biblioteki w trybie tylko do odczytu może być bezpieczniejszym rozwiązaniem docelowym. Przyznaj dostęp do zapisu wyłącznie katalogom, które rzeczywiście go wymagają, takim jak dedykowana ścieżka pobierania, metadanych, napisów lub zarządzanej biblioteki, zamiast uznawać szerokie uprawnienia do zapisu za warunek odtwarzania.
Zweryfikuj działanie na poziomie aplikacji bez modyfikowania multimediów
Po pomyślnym przejściu sondy tymczasowej sprawdź rzeczywistą funkcję Jellyfin, która wymagała dostępu do zapisu. Jeśli na przykład problem dotyczy katalogu metadanych lub napisów, skieruj tę funkcję do nietprodukcyjnej lokalizacji testowej i potwierdź, że Jellyfin może utworzyć tam oczekiwany plik.
Jeśli Twoim celem jest jedynie korzystanie z Jellyfin jako serwera multimediów, porównaj układ ścieżek ze standardowym układem serwera multimediów Jellyfin i trzymaj oddzielnie multimedia, konfigurację, pamięć podręczną oraz tymczasowe lokalizacje zapisu. Taki podział ułatwia przyszłe testy uprawnień i ogranicza przypadkowe zapisy.
Powtórz test po ponownym uruchomieniu kontenera lub restarcie hosta. Zmiana uprawnień, która działa tylko do następnego montowania lub odtworzenia kontenera, nie jest pełną poprawką; końcowa konfiguracja musi zachowywać te same UID/GID, tryb montowania i mapowanie ścieżek po ponownym uruchomieniu.
Zatrzymaj się przed zastosowaniem szerokich rekurencyjnych zmian uprawnień
Jeśli sonda nadal kończy się niepowodzeniem, oprzyj się pokusie zastosowania popularnego skrótu chmod -R 777 lub rekurencyjnie zmieniać właściciela całej puli multimediów. Takie działania mogą usunąć przydatne granice uprawnień, wpłynąć na niezwiązane z nimi usługi i utrudnić ustalenie pierwotnej przyczyny.
Zmień tylko najmniejszy element wskazany przez nieudany test: brakujący bit wykonywania na jednym katalogu nadrzędnym, wpis ACL, UID/GID kontenera, montowanie tylko do odczytu albo właściciela katalogu danych należącego do Jellyfin. Następnie uruchom ponownie tę samą sondę zamiast nakładać kilka poprawek naraz.
Zatrzymaj się, gdy test na ścieżce tymczasowej zakończy się pomyślnie, a zamierzona operacja Jellyfin powiedzie się po ponownym uruchomieniu. Jeśli uprawnienia wyglądają poprawnie, ale zapisy nadal kończą się niepowodzeniem, zbierz dokładną ścieżkę, identyfikator UID/GID procesu, opcje montowania, stan etykiet bezpieczeństwa oraz treść błędu, zanim zgłosisz problem dalej; te informacje są znacznie bardziej przydatne niż kolejna globalna zmiana uprawnień.
Wsparcie i wskazówki
Więcej do przeczytania

Czy podczas tworzenia kopii zapasowej Home Assistant Live należy zatrzymać usługę?
Wbudowane kopie zapasowe Home Assistant mogą działać na żywo; zwykłe kopie systemu plików powinny zatrzymać Home Assistant lub wstrzymać jego działanie, chyba że baza...

Dlaczego serwer Home Assistant nagrzewa się lub hałasuje w czasie bezczynności?
Zanim zmienisz ustawienia chłodzenia lub limity procesora, skoreluj skoki obciążenia wentylatora lub temperatury w Home Assistant z działaniem Rejestratora, kopiami zapasowymi, integracjami i współdzielonymi...

Kiedy lepiej zbudować Home Assistant od nowa zamiast go naprawiać?
Najpierw napraw najmniejszą uszkodzoną warstwę Home Assistant, następnie przywróć znany dobry stan, a odbudowę wykonuj tylko wtedy, gdy nie można ufać trwałej konfiguracji.

