Як встановити пароль для передачі-демона, клієнтського сервера BitTorrent?


58

Конфігураційний файл неоднозначний і все одно перезаписується при перезапуску демона в Debian в будь-якому випадку.

В /etc/transmission-daemon/settings.json, є такі варіанти:

rpc-username
rpc-password
proxy-auth-username
proxy-auth-password

Кожен раз, коли я перезапускаю демон:

/etc/init.d/transmission-daemon restart

Він перезаписується rpc-password, а пароль, який він друкує, все одно не працює.

Хтось знає, як правильно встановити пароль? Я не хочу його відключати.


2
Просто покладіть це сюди для всіх, хто може зіткнутися з цим у майбутньому, але вам також доведеться встановити rpc-authentication-requiredйого trueу файлі налаштувань, інакше передача не перевірить пароль.
robmathers

Я повідомив про цю поведінку, оскільки це не конструктивно в bugs.launchpad.net/ubuntu/+source/transmission/+bug/1644091 , але воно було проігноровано, як і багато помилок Ubuntu.
Карл Ріхтер

Відповіді:


113

Виконайте це в точному порядку:

  1. Вимкнення: /etc/init.d/transmission-daemon stop
  2. Запишіть rpc-passwordу /etc/transmission-daemon/settings.jsonфайл у подвійних лапках.
  3. Збережіть цей файл
  4. Запуск: /etc/init.d/transmission-daemon start
  5. Увійдіть на сторінку, це порт 9091
  6. Введіть свій пароль.

Перезаписаний пароль - хеш. Програма розумніша, ніж зазвичай, і виявляє, що ваш пароль не є хеш, тому він перезаписує пароль з хешем, щоб бути захищеним. Отже, ваш пароль повинен працювати.

Однак пам’ятайте, що він записує пароль, завантажений ним, коли він вимикається. Таким чином, це /etc/init.d/transmission-daemon restartне буде робити те, що ви очікуєте, якщо ви написали файл під час його запуску.


9
Вам не доведеться зупинятись і перезапускати демон. Просто /etc/init.d/transmission-daemon reload.
бред

1
Принаймні, коли я писав відповідь, ви фактично редагуєте файл, поки він зупинений, тому що передача-демон записує файл на закриття.
Ніл

1
init.d / reload є специфічним для distro. Загалом, ви просто надсилаєте SIGHUP - хоча це НЕ на довільній
yardena

Коментар анонімного користувача: У моєму випадку був скрипт (в /etc/init.d), щоб запустити демон, який передав йому пароль: мені довелося відредагувати цей скрипт (названий "transmissnd"), щоб змінити пароль і так це спрацювало.
terdon

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

2

Ви також можете спробувати інше рішення, щоб знайти пароль:

ps -ef | grep transmission

(до моєї версії це був адміністратор: password1)


2
Принаймні в моїй установці ubuntu пароль встановлений у файлі, тому перелік процесів не скаже вам, що таке пароль.
Деймон Сміт

2

Як правило, демон записує свої налаштування під час його виходу (або перезавантаження). Ви можете змусити демон перезавантажити нові налаштування, надіславши його SIGHUP:

вбити -HUP 1234

... тоді він більше не перезапише ваші налаштування під час зупинки.

BTW: Я не задоволений тим, що передачу-віддалений-кліп хоче мати пароль у командному рядку. Погана ідея!


1

Хоча в цій публікації вже є прийнята відповідь, я вважаю, що варто додати, що в Ubuntu передача-демона насправді не зупиняється один раз запускається.

Це означає, що будь-які зміни, які ви зробите в settings.json, будуть перезаписані при наступному перезапуску, коли це буде.

Це також означає, що вам доведеться повністю відключити демон-запуск під час завантаження , перезавантажити, відредагувати налаштування.json, а потім повторно увімкнути його, щоб внести зміни, які ви зберігаєте.

Досить дратівливий, але як тільки ви усвідомлюєте, що відбувається, впоратися досить легко.


3
Коли ви кажете, що не зупиняєтесь, ви спробували запустити: "Служба передачі судо-демон-стоп"? зупинити це звичайним способом? Це працює для мене. Потім ви можете відредагувати файл налаштувань та перезапустити його.
Деймон Сміт

1
-1, Це просто невірно. Метод @Neil працює як описано, і якщо те, що ви сказали, було правдою, його метод не працював. Файл settings.json переписується лише в тому випадку, якщо ви змінили його під час роботи передачі, а потім перезапустіть передачу.
ubiquibacon

Якщо ви робите те, що явна більшість користувачів із init-фоном у стилі sysv робить інстинктивно ( /etc/init.d/transmission restart), це дійсно не працює. Якщо вам доведеться виконати якусь дивну "службову" річ чи нову штучку чи інший спеціальний Ubuntu-ism, щоб вона працювала, то це за визначенням не працює.
Jostein Kjønigsen

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