Wie setzt man ein Passwort für den Transmission-Daemon, den BitTorrent-Client-Server?

58

Die Konfigurationsdatei ist nicht eindeutig und wird ohnehin überschrieben, wenn Sie den Dämon in Debian neu starten.

In /etc/transmission-daemon/settings.jsongibt es diese Optionen:

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

Jedes Mal, wenn ich den Daemon neu starte, mit:

/etc/init.d/transmission-daemon restart

Es wird überschrieben rpc-passwordund das ausgedruckte Passwort funktioniert sowieso nicht.

Weiß jemand, wie man das Kennwort richtig einstellt? Ich möchte es nicht deaktivieren.

Neil
quelle
2
Nur darum , hier das für jeden, der über mich in der Zukunft kommen könnte, aber man muss auch festgelegt , rpc-authentication-requiredum truein der Einstellungsdatei, sonst Übertragung wird nicht nach einem Kennwort überprüfen.
Robmathers
Ich habe dieses Verhalten gemeldet, weil es unter bugs.launchpad.net/ubuntu/+source/transmission/+bug/1644091 nicht konstruktiv ist , aber es wurde wie so viele Ubuntu-Fehler ignoriert.
Karl Richter

Antworten:

113

Tun Sie diese Dinge in der genauen Reihenfolge:

  1. Herunterfahren: /etc/init.d/transmission-daemon stop
  2. Schreiben Sie das rpc-passwordin die /etc/transmission-daemon/settings.jsonDatei, in doppelte Anführungszeichen.
  3. Speichern Sie diese Datei
  4. Startup: /etc/init.d/transmission-daemon start
  5. Loggen Sie sich auf der Seite ein, es ist an Port 9091
  6. Geben Sie Ihr Passwort ein.

Das überschriebene Passwort ist ein Hash. Das Programm ist intelligenter als gewöhnlich und erkennt, dass es sich bei Ihrem Passwort nicht um einen Hash handelt. Daher wird das Passwort mit dem Hash überschrieben, um die Sicherheit zu gewährleisten. Dein Passwort sollte also funktionieren.

Denken Sie jedoch daran, dass es das Kennwort schreibt, mit dem es beim Herunterfahren geladen wurde. Dies entspricht also /etc/init.d/transmission-daemon restartnicht Ihren Erwartungen, wenn Sie die Datei während der Ausführung geschrieben haben.

Neil
quelle
9
Sie müssen den Dämon nicht anhalten und neu starten. Einfach /etc/init.d/transmission-daemon neu laden.
Brad
1
Zumindest zu dem Zeitpunkt, als ich die Antwort geschrieben habe, bearbeiten Sie die Datei tatsächlich, während sie gestoppt ist, da der Transmission-Daemon die Datei beim Schließen schreibt.
Neil
1
init.d / reload ist distro-spezifisch. Im Allgemeinen senden Sie einfach einen SIGHUP - obwohl dies NICHT in der Manpage steht, nur hier: trac.transmissionbt.com/wiki/EditConfigFiles
yardena
Kommentar eines anonymen Benutzers: In meinem Fall gab es ein Skript (in /etc/init.d), mit dem der Dämon gestartet werden konnte, der das Kennwort übergeben hat: Ich musste das Skript ("transmissiond") bearbeiten, um das Kennwort zu ändern, und so weiter es funktionierte.
Terdon
Das Überschreiben einer Konfigurationsdatei auf diese Weise ist entweder klug oder nicht, es ist definitiv eine gute Quelle für unnötige Probleme (im Vergleich dazu, dass der Benutzer nur Hashes in die Konfigurationsdatei schreiben und auf jeder Ebene nützliches Feedback geben muss). Ich habe einige Jahre lang versucht, die Übertragung zum Laufen zu bringen, und die Versuche dokumentiert. In der Regel werden auch andere Felder überschrieben. Ich habe einige Bugs darüber abgelegt, die ignoriert wurden.
Karl Richter
2

Sie können auch eine andere Lösung ausprobieren, um das Passwort zu finden:

ps -ef | grep transmission

(zu meiner Version war es admin: password1)

Phönix
quelle
2
Zumindest in meiner Ubuntu-Installation ist das Passwort in der Datei festgelegt, sodass die Auflistung der Prozesse keine Auskunft über das Passwort gibt.
Damon Smith
2

Im Allgemeinen schreibt der Dämon seine Einstellungen, wenn er beendet wird (oder neu gestartet wird). Sie können den Dämon zwingen, neue Einstellungen zu laden, indem Sie ihm SIGHUP senden:

kill -HUP 1234

... dann werden Ihre Einstellungen beim Stoppen nicht mehr überschrieben.

BTW: Ich bin nicht froh, dass transmission-remote-cli das Passwort in der Kommandozeile haben möchte. Schlechte Idee!

jm73
quelle
1

Während dieser Beitrag bereits eine akzeptierte Antwort hat, finde ich es sinnvoll hinzuzufügen, dass der Transmission-Daemon in Ubuntu nach dem Start nicht mehr zu stoppen ist.

Dies bedeutet, dass alle Änderungen, die Sie an settings.json vornehmen, beim nächsten Neustart überschrieben werden, wenn dies der Fall ist.

Dies bedeutet auch, dass Sie den Daemon-Start beim Booten vollständig deaktivieren, neu starten , Ihre settings.json bearbeiten und dann erneut aktivieren müssen, damit die von Ihnen vorgenommenen Änderungen bestehen bleiben.

Ziemlich nervig, aber sobald Sie wissen, was los ist, ist es ziemlich einfach, damit umzugehen.

Jostein Kjønigsen
quelle
3
Haben Sie versucht, "sudo service transmission-daemon stop" auszuführen, wenn Sie "not stopable" sagten? es auf die übliche Weise zu stoppen? Das ist für mich in Ordnung. Anschließend können Sie die Einstellungsdatei bearbeiten und neu starten.
Damon Smith
1
-1, Das ist einfach falsch. @ Neil Methode funktioniert wie beschrieben und wenn das, was Sie sagten, wahr ist, würde seine Methode nicht funktionieren. Die settings.json-Datei wird nur überschrieben, wenn Sie sie während der Übertragung ändern und dann die Übertragung erneut starten.
Ubiquibacon
Wenn Sie das tun, was die meisten Benutzer mit einem sysv-ähnlichen Init-Hintergrund instinktiv tun ( /etc/init.d/transmission restart), funktioniert dies in der Tat nicht. Wenn Sie ein seltsames "Service" -Ding oder ein Upstart-Ding oder einen anderen speziellen Ubuntu-Ismus ausführen müssen, um es zum Laufen zu bringen, dann funktioniert es per Definition nicht.
Jostein Kjønigsen
1
"Funktioniert nicht so, wie ich es gewohnt bin" ist nicht dasselbe wie "Funktioniert nicht". Es klappt.
Suriv