我在运行 Debian 的 Raspberry pi 3 上安装了无头版本的传输:
sudo apt-get install transmission-daemon
此后我停止了服务并修改了设置:
sudo service transmission-daemon stop
sudo nano /etc/transmission-daemon/settings.json
除了更改用户和密码之外,我还更改了下载目录:
...
"download-dir": "/home/pi/Desktop",
...
此后我重新启动了服务
sudo service transmission-daemon start
现在,如果我尝试下载任何文件,我会收到以下错误:
Error: Permission denied (/home/pi/Desktop/ubuntu-17.04-desktop-amd64.iso)
我不知道我做错了什么。
答案1
Transmission 守护进程以debian-transmission
用户身份运行。此用户(可能)无权写入/home/pi/Desktop
。您可以使用ls -ld /home/pi/Desktop
并解释输出来验证这一点。
更改权限/所有权/home/pi/Desktop
或让 Transmission 下载到允许存储数据的文件。
您可以使用或授予debian-transmission
对该文件夹的访问权限。如果您不想对此进行任何研究,则以下方法可能会有效:chown
setfacl
$ setfacl -m u:debian-transmission:rwX /home/pi/Desktop
答案2
我一直为这个问题而苦恼,直到Stack Exchange Raspberry Pi 专用网站上的相关问题促使我检查/var/log/daemon.log
我用的是优秀的PiMyLifeUp 指南设置我的 Pi 以进行 torrent 下载,但没有确切地编辑时请遵循建议/etc/transmission-daemon/settings.json。具体来说,自从我离开以来“不完整目录已启用“ 设置错误的,我改变“不完整目录“设置为”(没用过)“,提醒我我本来就不打算使用它。
所以,当我发现以下引用时,你可以想象我这位温柔的读者的惊讶:无法创建“(未使用)”:权限被拒绝在/var/log/daemon.log。
我刚刚编辑设置.json以便 ”不完整目录“指向与”相同的文件夹下载目录“,一切正常!幸运的是,我已经知道我必须运行sudo systemctl 停止传输守护进程在我编辑之前,否则守护进程最终关闭时就会覆盖我的更改(昨天发现这一点之前,我扯掉了更多的头发!:)