Отказано в доступе при загрузке с передачей deamon

24

Я установил xubuntu и демон передачи, установил путь загрузки для моего дома / пользователя / телешоу и получил отказ в разрешении при попытке загрузки торрентов через передачу.

Я пытался chmod -r 777на этой папке без успеха.

пожалуйста помоги!

вывод ps -ef | grep трансмиссия

chen@htpc:~$ ps -ef | grep transmission
109       1023     1  1 21:46 ?        00:00:35 /usr/bin/transmission-daemon --config-dir /var/lib/transmission-daemon/info

chen@htpc:~$ ps aux | grep transmission
109       1023  3.2  0.4  47684 16620 ?        Ssl  21:46   1:20     /usr/bin/transmission-daemon --config-dir /var/lib/transmission-daemon/info
chen      1852  0.0  0.0   4200   772 pts/0    S+   22:27   0:00 grep --color=auto transmission

enter code here
Чен Кинрот
источник
Можете ли вы добавить вывод ps -ef | grep transmissionк вопросу. Я не думаю, что у трансмиссионного демона есть право писать в домашние каталоги по умолчанию.
mikewhоткуда
Я добавил его, как мне добавить разрешения для этого пользователя?
Чен Киннрот
Ну, я был после имени пользователя, под которым он работает, но это не показано. Попробуй ps aux | grep transmissionвместо этого.
Что бы ни случилось
Хм ... похоже, его имя пользователя 109 - что-то странное.
Что бы ни случилось
Это действительно странно, но оно должно быть запущено debian-transmission, не уверен, почему он показывает глупое число. Вы можете проверить это с id debian-transmission.
Что бы ни случилось

Ответы:

47

Предполагая путь к папке загрузки /home/chen/TV shows, выполните следующее:

  • добавить чен в группу передачи-debian

    sudo usermod -a -G debian-transmission chen
    
  • изменить владельца папки

    sudo chgrp debian-transmission /home/chen/TV\ shows
    
  • предоставить доступ на запись группе

    sudo chmod 770 /home/chen/TV\ shows
    
  • Останови Деймона с

    sudo service transmission-daemon stop
    
  • Последнее, что нужно сделать, это изменить маску создания файла, чтобы загруженные файлы были доступны для записи с помощью chen.

    sudo nano /etc/transmission-daemon/settings.json
    

    ... и изменить "umask": 18на "umask": 2. Нажмите Ctrl+, Oчтобы сохранить и Ctrl+, Xчтобы выйти.

Запустите демон с

sudo service transmission-daemon start
mikewhatever
источник
В случае, если кто-то попытается cdвойти в свой каталог сразу после этого и получить запрещенное разрешение, выйдите из системы и войдите снова. Мой сеанс SSH не имел прав доступа к папке после того, как debian-tranmissionгруппе было передано право собственности на папку (поскольку мой пользователь не был добавлен в эту группу до следующего входа в систему)
matrixanomaly
Это работает до тех пор, пока мне не нужно создать новую папку (например, файлы торрента вложены). Тогда я получаю еще одно разрешение, в котором отказано.
GDorn
@GDorn Это не должно быть так. "umask": 2переводит в разрешения 774, или rwxrwxr--, что означает дурак доступ для владельца и группы.
mikewh независимо от
Полезный ответ, но, может быть, я могу предложить изменить ответ: у меня были проблемы с /var/lib/transmission-daemon/.config/transmission-demon/torrents. Этот каталог не имеет разрешения на запись. Меняя их все заявлено на работу.
LP
6

Это проблема с правами доступа, основанная на идентификаторе пользователя, на котором запущена передача. Transmission устанавливает пользователя по умолчанию, которого вы не ожидаете при первой установке. Имя пользователя debian-transmission.

Я объясню, как это изменить:

  1. Остановить демон передачи sudo service transmission-daemon stop
  2. Откройте файл конфигурации Transmission для редактирования: sudo nano /etc/init.d/transmission-daemon
  3. Найдите строку с надписью USER=debian-transmissionи измените ее на пользователя, которому принадлежит данная папка. Если вас не волнуют вопросы безопасности, вы также можете использовать USER=rootэтот файл. (Не рекомендуется, но хорошо для устранения неполадок).
  4. В качестве альтернативы (вместо пункта 3) измените папку / etc / fstab, чтобы подключить папку с правильными разрешениями для пользователя, который запускает демона передачи.
  5. Запустите демон передачи sudo service transmission-daemon start
Терри
источник
1
Это не сработает. Здесь либо пользователь, transmission-daemon либо пользователь root также владеют "/var/lib/transmission-daemon/info/settings.json", и если вы измените демон для запуска в качестве $ USER, он выдаст Couldn't read "/var/lib/transmission-daemon/info/settings.json": Permission denied. Это как-то сработало в вашей системе, но это неправильный способ сделать это.
Хуршид Алам
Это работает, спасибо. И если вы используете, systemdвы должны отредактировать Userпод [Service]в /lib/systemd/system/transmission-daemon.service.
Zer09
4

Проверьте, используете ли вы «неполную» папку. В этом случае ошибка может вводить в заблуждение, и это может быть неполная папка, к которой у вас нет прав записи.

blockdor
источник
2
это был мой случай: в настройках у меня был неправильный случай для неполного каталога. Таким образом, ошибка вдвойне вводила в заблуждение: ошибка не была в каталоге, о котором говорила ошибка, и ошибка должна была быть «не найдена», а не «отказано в разрешении»
Riccardo Cossu
2
Это была моя проблема! Он был сброшен в / root / incomplete, что явно не доступно для записи!
Pez Cuckow
1
Что сказал @RiccardoCossu. Не могу достаточно проголосовать.
rocketboy
1

Это только что случилось со мной. Я нашел эту страницу, был напуган всем жаргоном, поэтому я перезапустил Transmission, зарезервировал торрент-файл в другое место и сохранил данные торрента в том же другом месте (на рабочем столе). Работал как шарм ...

алексия
источник
0

Это может быть проблема профиля устройства. Передача проходит под sanitized_helperпрофилем в apparmor.

Ищите жалобы в /var/log/kern.log. grep transm /var/log/kern.logособенно после попытки запустить передачу и она не работает.

Джим Солтер
источник
0

Поскольку это лучший результат поиска в Google, для любого, кто его читает, я потратил более часа, пытаясь заставить его работать. Оказывается, папка загрузок, указанная в файле settings.json, называется «Загрузки» вместо «загрузки». Обратите внимание на случай.

SomeGuest1425125125
источник
0

В моем случае проблема заключалась в том, как привод монтировался. Использование этого в /etc/fstabработал для меня:

UUID=2069-1A05  /mnt/ext   vfat   rw,user,exec,umask=0000   0   0
davidcm
источник
Здесь может помочь немного контекста ( vfat? Не типичная файловая система Linux) - какой у вас сценарий, что именно не работает и как это исправить?
Занна
0

Монтирование внешнего диска в мой домашний каталог решило эту проблему;

sudo mkdir / home / plex / медиа-сервер

sudo chmod 770 / home / plex / медиа-сервер

sudo mount / dev / sdxx / / home / plex / media-drive

нота. sdxx - это имя вашего жесткого диска. Вы можете использовать следующую команду, чтобы найти свою;

Судо Блкид

liquidbender
источник
-1

У меня возникла та же проблема, и это была ошибка, которую я допустил, связав символическую директорию загрузки с моим домашним каталогом / каталогом пользователя / пользователя, я изменил владельца файла, связанного с символикой, что впоследствии также изменило владельца передачи ». скачать 'каталог ...

Я просто вернулся к владению 'debian-transmission', и это сработало как талисман (без необходимости перезапускать сервис)

#chown debian-transmission:debian-transmission /var/lib/transmission/downloads

(ну, вам придется проверить в соответствии с вашим собственным дистрибутивом Linux, что является правильным владельцем и, в конечном итоге, также ваш правильный путь к каталогу загрузок)

baobab33
источник
-1

У меня была похожая проблема с передачей. Я получил ошибку разрешения при загрузке даже с правильными настройками разрешения папки на внешнем жестком диске USB.

Я просто подключил внешний жесткий диск к /home/pi/тому же разрешению, и он работал нормально.

mount /dev/sda /home/pi/USB-HDD-MOUNTED

разрешения есть drwxrwxrwx (0777) pi:debian-transmission. Имя пользователя изменено piв /etc/init.d/transmisssion-daemon.

Акос
источник