CentOS上Jellyfin权限设置指南

一运行身份与基础检查

确认服务运行用户:Jellyfin通常以系统用户jellyfin运行。可执行:

ps-eouser,comm|grepjellyfin
,应看到进程属主为jellyfin。

确认目录归属:媒体目录与缓存/配置目录应可被jellyfin读取(读/执行),缓存目录需可写。

日志定位:排查权限问题优先查看/var/log/jellyfin/下的日志文件。

防火墙放行:若本机访问正常而外部无法访问,放行端口8096/tcp:

firewall-cmd--add-port=8096/tcp--permanent&&firewall-cmd--reload

二宿主机部署的权限设置

媒体目录权限(推荐最小权限)

将媒体目录属主设为jellyfin,并赋予同组读写执行:

sudochown-Rjellyfin:jellyfin/mnt/jellyfinsudochmod-R775/mnt/jellyfin

若目录包含其他用户文件,不想整体改属主,可为jellyfin增加ACL:

sudosetfacl-R-mu:jellyfin:rwx/mnt/jellyfinsudosetfacl-R-d-mu:jellyfin:rwx/mnt/jellyfin#新建文件继承

缓存与配置目录

确保/var/lib/jellyfin与/var/cache/jellyfin对jellyfin可写:

sudochown-Rjellyfin:jellyfin/var/lib/jellyfin/var/cache/jellyfinsudochmod-R755/var/lib/jellyfin/var/cache/jellyfin

系统服务与SELinux

重启服务生效:

sudosystemctlrestartjellyfin

若启用了SELinux,为挂载点设置合适上下文(示例):

sudosemanagefcontext-a-thttpd_sys_content_t"/mnt/jellyfin(/.*)?"sudorestorecon-R/mnt/jellyfin
如未安装semanage:
sudoyuminstall-ypolicycoreutils-python-utils

安全提示

避免使用777权限;优先采用“属主+ACL”的最小权限模型。

若曾用root拷贝媒体文件,后续请统一调整为jellyfin属主,避免访问被拒。

三Docker部署的权限设置

目录挂载与属主

启动前确保宿主机目录对容器内jellyfin用户可读写(容器内常见UID/GID为1000:100,以实际容器为准):

sudochown-R1000:100/srv/jellyfin/{config,cache}/mnt/jellyfinsudochmod-R775/srv/jellyfin/mnt/jellyfin

运行示例(使用命名卷或绑定挂载均可,关键是目录权限正确):

dockerrun-d\--namejellyfin\-p8096:8096\-v/srv/jellyfin/config:/config\-v/srv/jellyfin/cache:/cache\-v/mnt/jellyfin:/media\--restartunless-stopped\jellyfin/jellyfin:latest

若遇到权限错误,优先检查宿主机目录的UID/GID与权限,再查看容器日志:

dockerlogsjellyfin

四网络共享与多用户访问控制

访问共享文件夹(Samba/NFS)

将远端共享挂载到本地目录(如/mnt/nas),再把/mnt/nas加入Jellyfin媒体库。

挂载后对挂载点设置与宿主机相同的属主/权限或ACL,确保jellyfin可读写:

sudochown-Rjellyfin:jellyfin/mnt/nassudochmod-R775/mnt/nas

多用户与访问控制

在Jellyfin控制台:Settings->UsersandGroups添加用户、设置密码与权限;可按库/文件夹进行可见性与播放权限的细分。

对外网访问建议:启用反向代理(如Nginx+HTTPS),并使用强密码与定期更新策略,降低暴露面与风险。

五常见故障排查清单

目录或文件无法读取/写入:检查属主是否为jellyfin,权限是否至少为r-x(目录)与r–(文件),必要时补充ACL。

新拷入文件不可见:拷贝文件时使用了root,导致jellyfin无权限;统一调整属主或设置默认ACL。

SELinux拦截:使用

ausearch-mavc-tsrecent
journalctl-xe
查看被拒记录,并按需设置文件上下文或布尔值。

容器权限问题:核对宿主机挂载目录的UID/GID与权限,查看

dockerlogs
输出定位问题。

日志优先:查看/var/log/jellyfin/中的服务日志与访问日志,通常能直接指明是“权限拒绝”还是“路径不存在”。