centos

centos上jellyfin如何进行权限管理

小樊
79
2025-09-17 19:19:11
栏目: 智能运维

CentOS 上 Jellyfin 权限管理的完整流程

1. 准备工作:创建专用系统用户

为保障安全,Jellyfin 应使用专用系统用户运行,避免使用 root 权限。

sudo adduser jellyfin --system --group --no-create-home --shell /sbin/nologin

此命令创建了一个名为 jellyfin 的系统用户及同名组,无登录权限,仅用于运行 Jellyfin 服务。

2. 设置 Jellyfin 相关目录权限

Jellyfin 的核心目录包括数据目录(存储媒体库、用户配置)、日志目录(记录运行日志)、配置文件目录(服务配置)。需将这些目录的所有权赋予 jellyfin 用户及组,并设置合理权限。

# 数据目录(默认路径,若自定义需替换)
sudo chown -R jellyfin:jellyfin /var/lib/jellyfin
sudo chmod -R 755 /var/lib/jellyfin

# 日志目录(默认路径)
sudo mkdir -p /var/log/jellyfin
sudo chown -R jellyfin:jellyfin /var/log/jellyfin
sudo chmod -R 755 /var/log/jellyfin

# 配置文件(默认路径)
sudo chown jellyfin:jellyfin /etc/jellyfin/jellyfin.conf
sudo chmod 644 /etc/jellyfin/jellyfin.conf

说明755 权限允许所有者(jellyfin)读写执行,其他用户仅读执行;644 权限允许所有者读写,其他用户仅读。

3. 处理 SELinux 限制(若启用)

若系统启用了 SELinux(默认开启),需调整策略以允许 Jellyfin 访问资源:

# 允许 Jellyfin 访问网络数据库(如媒体元数据库)
sudo setsebool -P httpd_can_network_connect_db 1

# 允许 Jellyfin 访问用户家目录(若媒体库位于家目录)
sudo setsebool -P httpd_enable_homedirs 1

# 或设置更严格的 SELinux 上下文(推荐)
sudo chcon -Rv --type=httpd_sys_content_t /var/lib/jellyfin

说明httpd_sys_content_t 上下文允许 web 服务访问目录内容,-R 表示递归处理子目录。

4. 配置防火墙放行端口

Jellyfin 默认使用 8096 端口(TCP),需通过防火墙放行:

sudo firewall-cmd --permanent --zone=public --add-port=8096/tcp
sudo firewall-cmd --reload

说明:若使用反向代理(如 Nginx),需额外放行代理端口(如 80/443)。

5. 通过 Web 界面管理用户权限

Jellyfin 的用户权限主要通过 Web 界面配置,步骤如下:

6. 命令行辅助管理用户(可选)

若需通过命令行管理用户,可使用以下命令:

# 添加用户(需指定密码)
sudo jellyfin --add-user <用户名> <密码>

# 删除用户
sudo jellyfin --remove-user <用户名>

# 列出所有用户
sudo jellyfin --list-users

说明:命令行操作需谨慎,建议优先使用 Web 界面。

常见问题排查

以上步骤覆盖了 CentOS 上 Jellyfin 权限管理的核心环节,确保服务安全运行的同时,灵活控制用户访问权限。

0
看了该问题的人还看了