温馨提示×

centos中jellyfin如何设置权限

小樊
58
2025-09-30 18:05:56
栏目: 智能运维

CentOS中Jellyfin权限设置指南

1. 创建专用系统用户

为确保Jellyfin运行安全,需创建专用系统用户及组,避免使用root账户。

sudo groupadd jellyfin
sudo useradd -r -g jellyfin -d /var/lib/jellyfin -s /sbin/nologin jellyfin
  • -r:创建系统用户;-g:指定所属组;-d:设置主目录;-s:禁止登录shell。

2. 设置核心目录权限

Jellyfin的关键目录包括数据目录(存储媒体文件、配置)、日志目录(记录运行日志),需将所有权赋予jellyfin用户及组,并设置合理权限:

  • 数据目录(默认/var/lib/jellyfin):
    sudo chown -R jellyfin:jellyfin /var/lib/jellyfin
    sudo chmod -R 755 /var/lib/jellyfin
    
  • 日志目录(默认/var/log/jellyfin):
    sudo mkdir -p /var/log/jellyfin
    sudo chown -R jellyfin:jellyfin /var/log/jellyfin
    sudo chmod -R 755 /var/log/jellyfin
    
  • 配置文件(默认/etc/jellyfin/jellyfin.conf):
    sudo chown jellyfin:jellyfin /etc/jellyfin/jellyfin.conf
    sudo chmod 644 /etc/jellyfin/jellyfin.conf
    
  • 安装目录(若通过包管理器安装,默认路径为/usr/share/jellyfin):
    sudo chown -R jellyfin:jellyfin /usr/share/jellyfin
    
    权限说明:755(所有者可读/写/执行,组及其他用户可读/执行)适用于目录;644(所有者可读/写,组及其他用户可读)适用于配置文件。

3. 配置SELinux(若启用)

若系统启用SELinux(可通过getenforce命令检查),需调整上下文或布尔值以允许Jellyfin访问资源:

  • 设置目录上下文(针对数据目录):
    sudo chcon -Rv --type=httpd_sys_rw_content_t /var/lib/jellyfin
    
    httpd_sys_rw_content_t允许Web服务(Jellyfin)读写该目录。
  • 调整布尔值(允许网络连接及家目录访问):
    sudo setsebool -P httpd_can_network_connect_db 1
    sudo setsebool -P httpd_enable_homedirs 1
    
    这些设置解决了数据库连接、家目录访问等常见SELinux限制问题。

4. 配置防火墙

允许Jellyfin默认端口(8096/tcp)通过防火墙,确保外部设备可访问:

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

若使用反向代理(如Nginx、Apache),还需开放HTTP(80/tcp)或HTTPS(443/tcp)端口,并配置代理规则。

5. 验证服务运行状态

设置完成后,启动Jellyfin服务并设置为开机自启,检查运行状态:

sudo systemctl daemon-reload
sudo systemctl start jellyfin
sudo systemctl enable jellyfin
sudo systemctl status jellyfin

若服务状态显示为active (running),则说明权限设置成功。

常见问题解决

  • 权限不足错误:若启动或访问时出现“Permission denied”,需确认目录所有权是否为jellyfin:jellyfin,权限是否正确(如755目录、644文件)。
  • SELinux拒绝访问:若日志中出现SELinux拒绝信息,可通过journalctl -u jellyfin -f查看具体拒绝原因,调整对应布尔值或上下文。

0