실제 미디어 폴더에서 아무것도 생성하거나 이름을 변경하거나 삭제하지 않고도 Jellyfin의 쓰기 액세스를 테스트할 수 있습니다. 먼저 Jellyfin 프로세스가 실제로 확인하는 경로를 파악한 다음, 쓰기 작업을 시도하기 전에 프로세스 ID와 마운트 모드를 확인하세요.
이는 특히 컨테이너 마이그레이션, 스토리지 재마운트 또는 권한 변경 후에 중요합니다. 호스트 경로는 올바르게 보여도 Jellyfin은 다른 바인드 마운트나 읽기 전용 대상을 볼 수 있기 때문입니다. 가장 안전한 진단 절차는 먼저 관찰하고, 그다음 일회성 프로브를 실행하며, 실패 계층을 파악한 후에만 운영 환경을 변경하는 것입니다.
Jellyfin이 실제로 확인하는 경로 검증
호스트 셸이 아니라 Jellyfin 또는 해당 컨테이너 내부에서 시작하세요. 호스트의 디렉터리인 /mnt/media/movies 가 Jellyfin에는 다음과 같이 표시될 수 있습니다. /media/movies따라서 호스트 경로만 대상으로 권한을 테스트하면 잘못된 사실을 입증할 수 있습니다.
공식 Jellyfin 컨테이너 가이드에 따르면 미디어 액세스는 컨테이너에 제공되는 바인드 마운트 또는 볼륨에 따라 달라지며, 미디어 마운트를 명시적으로 읽기 전용으로 설정할 수도 있습니다. 먼저 컨테이너 정의를 확인하여 테스트하는 경로와 액세스 모드가 프로덕션에서 Jellyfin이 사용하는 경로와 일치하는지 확인하세요. 컨테이너 마운트 정의
컨테이너 내부에서 예상한 라이브러리 경로가 보이지 않으면 여기서 중단하세요. 이는 Unix 소유권 문제가 아니라 마운트 문제입니다. 호스트의 권한을 변경하기 전에 매핑을 수정하거나 의도한 경로로 컨테이너를 다시 생성하세요.
권한을 테스트하기 전에 런타임 ID 확인
Jellyfin 프로세스에서 사용하는 UID와 GID를 확인하세요. 기본 Linux 설치에서는 일반적으로 jellyfin 서비스 계정입니다. 컨테이너에서는 런타임을 통해 전달된 숫자형 UID/GID일 수 있습니다. 해당 ID를 대상 디렉터리의 소유자, 그룹, 모드 비트 및 ACL과 비교하세요.
관리자 계정에는 디렉터리가 쓰기 가능한 것으로 보이더라도 Jellyfin 식별자에게는 접근할 수 없을 수 있습니다. Jellyfin 마이그레이션 지침은 설치를 이전할 때 UID/GID를 확인하고 일치하는 경로를 유지할 것을 구체적으로 권장하므로, 재귀적 소유권 변경을 수행하기 전에 식별자를 확인해야 합니다. 런타임 UID 및 GID
다음과 같은 읽기 전용 검사 명령을 사용하세요. id, stat, namei -l또는 getfacl 가능한 경우. 상위 디렉터리 중 하나에 Jellyfin 식별자의 실행 권한이 없으면 최종 폴더에 넉넉한 권한이 있어도 접근할 수 없습니다.
동일한 저장소에 임시 프로브 디렉터리 사용
실행하지 마세요 touch운영 중인 영화 또는 TV 디렉터리에서 쓰기 액세스를 입증하기 위해 touch, 이름 변경 테스트 또는 삭제 테스트를 실행하지 마세요. 대신 라이브러리 외부의 전용 프로브 폴더를 동일한 파일 시스템이나 공유 저장소에 만들고, 동일한 액세스 모드와 소유권 모델로 컨테이너에 마운트하세요.
동일한 Jellyfin UID/GID로 프로브를 실행한 다음, 해당 임시 디렉터리 안에서만 고유한 이름의 테스트 파일을 만들고 삭제하세요. 만들기와 삭제가 성공하면 운영 중인 미디어에 영향을 주지 않고 식별자, 파일 시스템, 마운트 모드 및 기본 쓰기 경로가 함께 정상적으로 작동한다는 것을 입증할 수 있습니다.
프로브가 실패하면 정확한 오류를 확인하세요. 권한이 거부되었습니다 식별자, 권한 비트, ACL 또는 보안 레이블을 확인해야 합니다. 읽기 전용 파일 시스템 마운트 또는 파일 시스템 상태를 확인해야 합니다. 해당 파일 또는 디렉터리가 없습니다 경로 매핑을 가리킵니다. 각 결과는 서로 다른 해결 방법으로 이어집니다.
호스트 권한과 컨테이너 읽기 전용 마운트 구분
호스트에서는 디렉터리가 쓰기 가능하다고 나오지만 컨테이너 프로브에서는 읽기 전용 파일 시스템이라고 보고할 때는 호스트 권한을 완화하지 마세요. 다음으로 선언된 바인드 마운트는 ro 다음과 관계없이 쓰기를 차단합니다: chmod 또는 chown 호스트에서.
공식 컨테이너 예시는 지원되는 구성으로 읽기 전용 미디어 마운트를 의도적으로 보여 주며, 쓰기 액세스가 필요하면 해당 마운트 동작을 변경해야 한다고 안내합니다. 따라서 파일 시스템 소유권을 변경하기 전에 마운트 모드를 명확한 판별 기준으로 삼을 수 있습니다. 읽기 전용 미디어 마운트
Jellyfin 워크플로에 미디어 읽기만 필요하다면 라이브러리를 읽기 전용으로 유지하는 것이 더 안전한 최종 상태일 수 있습니다. 재생에 광범위한 쓰기 권한이 필수라고 간주하기보다, 전용 다운로드, 메타데이터, 자막 또는 관리형 라이브러리 경로처럼 실제로 필요한 디렉터리에만 쓰기 액세스 권한을 부여하세요.
미디어에 손대지 않고 애플리케이션 수준의 작업 확인
일회용 프로브가 통과한 후에는 쓰기 액세스가 필요했던 실제 Jellyfin 기능을 확인하세요. 예를 들어 메타데이터 또는 자막 디렉터리가 문제라면 해당 기능을 비운영 테스트 위치로 지정하고 Jellyfin이 그곳에 예상 파일을 생성할 수 있는지 확인하세요.
목표가 Jellyfin을 미디어 서버로만 운영하는 것이라면, 경로 설계를 표준 Jellyfin 미디어 서버 레이아웃과 비교하고 미디어, 구성, 캐시, 임시 쓰기 위치를 서로 분리하세요. 이렇게 분리하면 향후 권한 테스트가 쉬워지고 실수로 인한 쓰기를 제한할 수 있습니다.
컨테이너를 다시 시작하거나 호스트를 재부팅한 후 테스트를 반복하세요. 다음 마운트나 컨테이너 재생성 때까지만 작동하는 권한 변경은 완전한 해결책이 아닙니다. 최종 구성에서는 재시작 후에도 동일한 UID/GID, 마운트 모드, 경로 매핑이 유지되어야 합니다.
광범위한 재귀적 권한 변경을 적용하기 전에 중단하세요
프로브가 계속 실패한다면, 다음과 같은 흔한 지름길을 적용하려는 유혹을 뿌리치세요. chmod -R 777 또는 전체 미디어 풀의 소유권을 재귀적으로 변경하는 것입니다. 이러한 작업은 유용한 권한 경계를 없애고, 관련 없는 서비스에 영향을 주며, 원래 원인을 파악하기 어렵게 만들 수 있습니다.
실패한 테스트에서 확인된 가장 작은 대상만 변경하세요. 예를 들어 상위 디렉터리 하나의 실행 비트 누락, ACL 항목, 컨테이너 UID/GID, 읽기 전용 마운트, 또는 Jellyfin이 소유한 데이터 디렉터리의 소유권 등이 이에 해당합니다. 그런 다음 여러 수정 사항을 한꺼번에 적용하지 말고 동일한 프로브를 다시 실행하세요.
일회용 경로를 통과하고 재시작 후 의도한 Jellyfin 작업이 성공하면 중단하세요. 권한이 올바르게 보이는데도 쓰기가 계속 실패한다면, 권한을 전역적으로 다시 변경하기보다 정확한 경로, 런타임 UID/GID, 마운트 옵션, 보안 레이블 상태, 오류 텍스트를 수집한 후 에스컬레이션하세요. 해당 증거가 훨씬 더 유용합니다.
지원 및 팁
더 읽어보기

Home Assistant를 실행 중에 백업해야 할까요, 아니면 먼저 서비스를 중지해야 할까요?
내장된 Home Assistant 백업은 실행 중에도 진행할 수 있지만, 일반 파일 시스템 복사본을 만들 때는 데이터베이스가 일관되게 백업되지 않는 한 Home Assistant를 중지하거나 일시...

유휴 시간에 Home Assistant 서버가 뜨겁거나 시끄럽게 작동하는 이유는 무엇인가요?
냉각이나 CPU 제한을 변경하기 전에 Recorder, 백업, 통합 구성 요소 및 함께 실행되는 작업을 통해 Home Assistant의 팬 작동 또는 온도 급증 원인을 분석하세요.

Home Assistant를 수리하기보다 다시 구축해야 할 때는 언제인가요?
먼저 실패한 Home Assistant 계층 중 가장 작은 부분을 복구하고, 다음으로 검증된 정상 상태를 복원하며, 지속적인 구성을 신뢰할 수 없을 때만 다시 구축하세요.

