Как установить пароль для демона передачи, клиентского сервера 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в файле настроек, в противном случае коробка передач не будет проверять пароль.
Робматерс
Я сообщил об этом поведении, потому что оно неконструктивно на 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 перезагрузите.
Брэд
1
По крайней мере, в то время, когда я писал ответ, вы фактически редактируете файл, пока он остановлен, потому что Transmission-Daemon записывает файл при закрытии.
Нил
1
init.d / reload зависит от дистрибутива. В целом, вы просто отправляете SIGHUP - хотя это НЕ на странице man, только здесь: trac.transmissionbt.com/wiki/EditConfigFiles
yardena
Комментарий от анонимного пользователя: в моем случае был скрипт (в /etc/init.d) для запуска демона, который передал ему пароль: мне пришлось отредактировать этот скрипт (с именем "transmissiond"), чтобы изменить пароль и так это сработало.
тердон
Перезапись файла конфигурации таким способом является либо разумной, либо нет, это, безусловно, хороший источник ненужных проблем (по сравнению с простым принуждением пользователя писать хеши в файле конфигурации и предоставлять полезную обратную связь на каждом уровне). Я пытался запустить передачу уже несколько лет и задокументировал попытки. Обычно другие поля также перезаписываются. Я подал несколько ошибок об этом, которые были проигнорированы.
Карл Рихтер
2

Вы также можете попробовать другое решение, чтобы найти пароль:

ps -ef | grep transmission

(по моей версии это был admin: password1)

Феникс
источник
2
По крайней мере, в моей установке Ubuntu пароль устанавливается в файле, поэтому перечисление процессов не скажет вам, какой пароль.
Деймон Смит,
2

Обычно демон записывает свои настройки при выходе (или перезапуске). Вы можете заставить демона перезагрузить новые настройки, отправив ему SIGHUP:

убить -HUP 1234

... тогда он больше не будет перезаписывать ваши настройки при остановке.

КСТАТИ: Я не рад, что Transmission-Remote-Cli хочет иметь пароль в командной строке. Плохая идея!

jm73
источник
1

Хотя в этом посте уже есть принятый ответ, я считаю, что стоит добавить, что в Ubuntu демон передачи фактически не может быть остановлен после запуска.

Это означает, что любые изменения, внесенные вами в settings.json, будут перезаписаны при следующем перезапуске, когда бы это ни было.

Это также означает, что вы должны полностью отключить запуск демона при загрузке , перезагрузить компьютер, отредактировать ваш файл settings.json, а затем снова включить его, чтобы сохранить сделанные вами изменения.

Довольно раздражает, но как только вы узнаете, что происходит, справиться с этим довольно легко.

Йостейн Кёнигсен
источник
4
Когда вы говорите, что не остановить, вы пробовали запустить: "остановка передачи службы sudo"? остановить это обычным способом? Это подходит для меня. Затем вы можете отредактировать файл настроек и перезапустить его.
Деймон Смит,
1
-1, это просто неверно. Метод @Neil работает как описано, и если то, что вы сказали, было правдой, его метод не сработал бы. Файл settings.json перезаписывается только в том случае, если вы измените его во время передачи и перезапустите передачу.
Ubiquibacon
Если вы делаете то, что делает большинство пользователей с init-фоном в стиле sysv инстинктивно ( /etc/init.d/transmission restart), это действительно не работает. Если вам нужно сделать что-то странное, «сервисное», или выскочка, или другой специальный Ubuntu-механизм, чтобы он работал, то он по определению не работает.
Йостейн Кьёнигсен
2
«Не работает так, как я привык», не то же самое, что «не работает». Оно работает.
Suriv