Как установить пароль для демона передачи, клиентского сервера BitTorrent?

150071
Neil

Файл конфигурации неоднозначен и, в любом случае, перезаписывается при перезапуске демона в Debian.

В /etc/transmission-daemon/settings.json, есть эти варианты:

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

Каждый раз, когда я перезагружаю демон:

/etc/init.d/transmission-daemon restart 

Он перезаписывает rpc-password, и пароль, который он печатает, все равно не работает.

Кто-нибудь знает, как правильно установить пароль? Я не хочу отключать это.

54
Просто поместите это здесь для любого, кто может столкнуться с этим в будущем, но вы также должны установить для `rpc-authentication-required` значение` true 'в файле настроек, иначе Transmission не будет проверять пароль. robmathers 9 лет назад 2
Я сообщил об этом поведении, потому что оно неконструктивно на https://bugs.launchpad.net/ubuntu/+source/transmission/+bug/1644091, но оно было проигнорировано, как и многие ошибки в Ubuntu. Karl Richter 7 лет назад 0

4 ответа на вопрос

107
Neil

Делайте эти вещи в точном порядке:

  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не будет делать то, что вы ожидаете, если вы написали файл во время его работы.

Вам не нужно останавливаться и перезапускать демона. Просто /etc/init.d/transmission-daemon перезагрузите. brad 12 лет назад 9
По крайней мере, в то время, когда я писал ответ, вы на самом деле редактировали файл, пока он остановлен, потому что Transmission-Daemon записывает файл при закрытии. Neil 12 лет назад 1
init.d / reload зависит от дистрибутива. В целом, вы просто отправляете SIGHUP - хотя это НЕ на странице man, только здесь: https://trac.transmissionbt.com/wiki/EditConfigFiles yardena 11 лет назад 1
Комментарий от анонимного пользователя: в моем случае был скрипт (в /etc/init.d) для запуска демона, который передал ему пароль: мне пришлось отредактировать этот скрипт (с именем "transmissiond"), чтобы изменить пароль и так это сработало. terdon 10 лет назад 0
Перезапись файла конфигурации таким способом является либо разумной, либо нет, это, безусловно, хороший источник ненужных проблем (по сравнению с простым принуждением пользователя писать хеши в файле конфигурации и обеспечивать полезную обратную связь на каждом уровне). Я пытался запустить передачу уже несколько лет и задокументировал попытки. Обычно другие поля также перезаписываются. Я подал несколько ошибок об этом, которые были проигнорированы. Karl Richter 7 лет назад 0
Примечание: вам, возможно, придется изменить `rpc-authentication-required` на true csauve 5 лет назад 0
2
phoenix

You can also try another solution to find the password:

ps -ef | grep transmission

(to my version it was admin:password1)

По крайней мере, в моей установке Ubuntu пароль устанавливается в файле, поэтому перечисление процессов не скажет вам, какой пароль. Damon Smith 9 лет назад 2
2
jm73

Genrally the daemon writes its settings when it exits (or is restarted). You can force the daemon to reload new settings by sending it SIGHUP:

kill -HUP 1234

...then it will not overwrite your settings anymore when stopping.

BTW: I'm not happy that transmission-remote-cli wants to have the password on the command line. Bad idea!

1
Jostein Kjønigsen

While this post already has an accepted answer, I find it worth adding that in Ubuntu the transmission-daemon is actually not stoppable once started.

This means that any changes you do to settings.json will get overwritten on next restart, whenever that is.

This also means that you have to completely disable daemon-startup on boot, reboot, edit your settings.json and then re-enabling it to make the changes you do persist.

Pretty annoying, but once you're aware of what's going on, it's fairly easy to cope.

Когда вы говорите, что не остановить, вы пробовали запустить: «остановка передачи-службы sudo»? остановить это обычным способом? Это подходит для меня. Затем вы можете отредактировать файл настроек и перезапустить его. Damon Smith 9 лет назад 3
-1, это просто неверно. Метод @Neil работает как описано, и если то, что вы сказали, было правдой, его метод не сработал бы. Файл settings.json перезаписывается только в том случае, если вы измените его во время передачи и перезапустите передачу. ubiquibacon 9 лет назад 1
Если вы делаете то, что делает явное большинство пользователей с фоном инициализации в стиле sysv (`/etc/init.d/transmission restart`), это действительно не сработает. Если вам нужно сделать что-то странное, «сервисное», или выскочка, или другой специальный Ubuntu-механизм, чтобы он работал, то он по определению не работает. Jostein Kjønigsen 9 лет назад 0
«Не работает так, как я привык», не то же самое, что «не работает». Оно работает. suriv 8 лет назад 1

Похожие вопросы