В моей малиной пи-передаче отказано в разрешении

Я установил на свой Raspberry pi 3, работающий на Debian, безголовую версию передачи:

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)

Я не вижу, что я сделал неправильно.

2 ответа

Решение

Демон 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

Я рвал на себе волосы из-за этой проблемы, пока похожий вопрос на специальном сайте Stack Exchange Raspberry Pi не побудил меня изучить /var/log/daemon.log

Я использовал отличное руководство PiMyLifeUp для настройки моего Pi для загрузки торрентов, но не совсем следовал рекомендациям при редактировании /etc/transmission-daemon/settings.json. В частности, поскольку я оставил для параметра « incomplete-dir-enabled » значение false, мне не показалось неразумным изменить настройку « incomplete-dir » на « (unused) », чтобы напомнить мне, что я не намерены использовать его.

Итак, вы можете себе представить мое удивление, дорогой читатель, когда я нашел ссылки на Не удалось создать «(unused)»: Разрешение отклонено в /var/log/daemon.log.

Я только что отредактировал файл settings.json так, чтобы « incomplete-dir » указывал на ту же папку, что и « download-dir », и все работает нормально! К счастью, я уже знал, что мне нужно запустить sudo systemctl stoptransmission-daemon перед редактированием, иначе демон просто перезаписал бы мои изменения, когда в конечном итоге выключился (я вырвал гораздо больше волос, прежде чем обнаружил это вчера! :)

Другие вопросы по тегам