传输守护程序:加载工作配置文件时出错。用户权限?

lar*_*ars 6 server permissions services transmission

传输守护进程已经在一个小型无头服务器上完美运行了很长时间。但是,它目前给了我以下错误:

transmission-daemon Error loading config file -- exiting. (daemon.c:462)
Run Code Online (Sandbox Code Playgroud)

由于权限问题,所有守护进程都以用户“robots”的身份运行所有配置文件都归“robots”和我所属的“robots”组所有。

出于调试目的,我尝试在我自己的帐户下运行守护程序

transmission-daemon -f --log-debug -g /etc/transmission-daemon/
Run Code Online (Sandbox Code Playgroud)

守护进程成功启动,没有错误。由此我得出结论,配置文件本身是可以的。(我还通过替换

USER=robots
Run Code Online (Sandbox Code Playgroud)

经过

USER=lars
Run Code Online (Sandbox Code Playgroud)

结果保持不变;守护进程运行没有错误。当守护程序以我的名义运行时,/etc/transmission-daemon /etc/init.d/ 和 /etc/defaults/ 中的配置文件都可以正常工作。

我将 /etc/transmission-daemon/ 和所有文件和文件夹的权限更改为 777,并将所有者和组更改回机器人。(因为在名称“lars”下运行守护程序会将配置文件的所有权更改为“lars”。

chmod 777 -R /etc/transmission-daemon/
chown robots:robots -R /etc/transmission-daemon/

chmod 777 /etc/defaults/transmission-daemon
chown robots:robots /etc/defaults/transmission-daemon
Run Code Online (Sandbox Code Playgroud)

没有成功......守护进程退出时出现与上述相同的错误。

我不知道我在这里想念什么,有人有想法吗?

提前致谢

lar*_*ars 6

问题解决了!

文件夹

/var/lib/transmission-daemon/
Run Code Online (Sandbox Code Playgroud)

als 需要由正确的用户拥有,因此除了上面我的问题中所述的命令之外:

sudo chown -R robots:robots /var/lib/transmission-daemon/ 
Run Code Online (Sandbox Code Playgroud)

将用户“robots”和组“robots”替换为系统上使用的名称。


use*_*058 6

Debian 用户可以查看 file:/lib/systemd/system/transmission-daemon.service以验证所需的用户是否也在该文件中设置。

然后,验证该用户的主目录,因为然后将从中读取配置 ~/.config/transmission-daemon/