Дозвіл відхилено під час завантаження з передач deamon


24

Я встановив xubuntu і демон передачі, встановив шлях завантаження до мого будинку / користувача / телевізійних шоу та отримав відмову в дозволі при спробі завантажувати торрент через передачу.

Я пробував chmod -r 777цю папку без успіху.

будь ласка, допоможіть!

вихід ps -ef | передача греп

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питання. Я не думаю, що передача-демона не має права писати до домашніх панів за замовчуванням.
— щороку

Я додав його, як додати дозволи для цього користувача?
— Чен Кінрот

Ну, я був після імені користувача, під яким він працює, але це не відображається. Спробуйте ps aux | grep transmissionзамість цього.
— щороку

Гм ..., схоже, його ім'я користувача 109, якесь дивне.
— щороку

Це насправді химерно, але воно повинно працювати під debian-transmissionневідомим, чому воно показує дурне число. Ви можете підтвердити це за допомогою id debian-transmission.
— щороку

Відповіді:


47

Якщо припустити, що шлях до папки для завантаження є /home/chen/TV shows, виконайте наступне:

  • додати chen до групи передачі 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

У випадку, якщо хтось спробує cdувійти до свого каталогу відразу після цього і отримати дозвіл відмовлено, вийдіть із системи та ввійдіть знову. Мій сеанс SSH не мав правильних дозволів на доступ до папки після надання власності папки debian-tranmissionгрупі (оскільки мій користувач не був доданий до цієї групи до наступного входу)
— matrixanomaly

Це працює, поки мені не потрібно створити нову папку (наприклад, файли торрента вкладені). Потім мені інший дозвіл відмовлено.
— GDorn

@GDorn Це не повинно бути так. "umask": 2перекладається на дозволи 774, або rwxrwxr--, що означає нерозумний доступ для власника та групи.
— mikew незалежно від

Корисна відповідь, але, можливо, я можу запропонувати редагувати відповідь: У мене були проблеми /var/lib/transmission-daemon/.config/transmission-demon/torrents. У цьому каталозі не було дозволу на запис. Змінюючи їх, усі заявили, що вони працюють.
— LPs

6

Це проблема з дозволом на основі ідентифікатора користувача, який працює із передачею. Передача встановлює користувача за замовчуванням, якого ви можете не очікувати під час першого встановлення. Ім'я користувача - debian-transmission.

Я поясню, як це змінити:

  1. Зупиніть демон передачі sudo service transmission-daemon stop
  2. Відкрийте файл конфігурації передачі для редагування: 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

Перевірте, чи використовуєте ви "неповну" папку. Помилка може ввести в оману в цьому випадку, і це може бути неповна папка, до якої ви не маєте доступу для запису.


2
це був мій випадок: у налаштуваннях у мене був неправильний випадок неповного режиму. Тож помилка була вдвічі оманливою: помилки не було в каталозі, про яку повідомляла помилка, і помилка повинна була бути "не знайдена" і не "дозволу відмовлено"
— Ріккардо Коссу

2
Це була моя проблема! Він був скинутий на / root / неповний, що, очевидно, не піддається запису!
— Pez Cuckow

1
Що сказав @RiccardoCossu. Неможливо подати внесок.
— ракетбой

1

Це зі мною щойно трапилось. Я знайшов цю сторінку, був заляканий всім жаргоном, тому я перезапустив передачу, зарезервував файл торрента в іншому місці та зберег торрент-дані в тому ж іншому місці (на робочому столі). Працював як шарм ...


0

Це може бути проблема профілю apparmor. Передача працює під sanitized_helperпрофілем в apparmor.

Шукайте скарги в /var/log/kern.log. grep transm /var/log/kern.log, особливо відразу після спроби запустити передачу, і вона не вдалася.


0

Оскільки це найвищий результат пошуку в Google, для кожного, хто читає це, я витрачаю більше години, намагаючись змусити його працювати. Виявляється, папка завантажень, вказана в settings.json, - "Завантаження" замість "завантаження". Зверніть увагу на випадок.


0

У моєму випадку проблема полягала в тому, як монтувався привід. Використовуючи це, /etc/fstabдля мене працювали:

UUID=2069-1A05  /mnt/ext   vfat   rw,user,exec,umask=0000   0   0

Тут може допомогти трохи контексту ( vfat? Не типова файлова система Linux) - який був ваш сценарій, що саме не працювало і як це виправити?
— Zanna

0

Встановлення зовнішнього диска в домашній каталог вирішило цю проблему;

sudo mkdir / home / plex / media-server

sudo chmod 770 / home / plex / media-server

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

Примітка. sdxx - це ім'я вашого HDD. Ви можете скористатися наступною командою, щоб знайти свою;

sudo blkid


-1

У мене була така ж проблема, і це була помилка, яку я зробив, коли пов'язував каталог завантажень передачі з моїм домом / користувачем / каталогом, я змінив право власності на файл, пов'язаний з символом, який, як наслідок, також змінив право власності на передачу " каталог завантажень ...

Я щойно повернувся до власності на debian-передачу, і це спрацювало як шарм (без необхідності перезапускати сервіс)

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

(ну, вам доведеться перевірити відповідно до вашого власного дистрибутива Linux, що є правильним власником, а зрештою і правильним шляхом до каталогу завантажень)


-1

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

Я щойно встановив зовнішній жорсткий диск на /home/pi/такі ж дозволи, і він працював чудово.

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

дозволи є drwxrwxrwx (0777) pi:debian-transmission. Ім'я користувача змінено piв /etc/init.d/transmisssion-daemon.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.