Comment définir un mot de passe pour transmission-daemon, le serveur client BitTorrent?

58

Le fichier de configuration est ambigu et continue à être écrasé lorsque vous redémarrez le démon dans Debian, de toute façon.

Dans /etc/transmission-daemon/settings.json, il y a ces options:

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

Chaque fois que je redémarre le démon avec:

/etc/init.d/transmission-daemon restart

Il écrase rpc-passwordet le mot de passe imprimé ne fonctionne de toute façon pas.

Est-ce que quelqu'un sait comment définir le mot de passe correctement? Je ne veux pas le désactiver.

Neil
la source
2
Il suffit de mettre ceci ici pour tous ceux qui pourraient le rencontrer dans le futur, mais vous devez également le définir rpc-authentication-requiredsur truedans le fichier de paramètres, sinon Transmission ne recherchera pas de mot de passe.
robmathers
J'ai signalé ce comportement parce qu'il est non constructif sur bugs.launchpad.net/ubuntu/+source/transmission/+bug/1644091 , mais il a été ignoré en raison de la présence de tant de bogues dans Ubuntu.
Karl Richter

Réponses:

113

Faites ces choses dans l'ordre exact:

  1. Arrêt: /etc/init.d/transmission-daemon stop
  2. Écrivez le rpc-passworddans le /etc/transmission-daemon/settings.jsonfichier, entre guillemets.
  3. Sauvegarder ce fichier
  4. Démarrage: /etc/init.d/transmission-daemon start
  5. Connectez-vous à la page, c'est au port 9091
  6. Tapez votre mot de passe.

Le mot de passe en cours de remplacement est un hachage. Le programme est plus intelligent que d'habitude et détecte que votre mot de passe n'est pas un hachage. Il écrase donc le mot de passe avec le hachage pour le sécuriser. Donc, votre mot de passe devrait fonctionner.

Cependant, rappelez-vous qu'il écrit le mot de passe avec lequel il est chargé lorsqu'il s'arrête. Ce faisant /etc/init.d/transmission-daemon restartne fera pas ce que vous attendez si vous avez écrit le fichier alors qu'il est en cours d' exécution.

Neil
la source
9
Vous n'êtes pas obligé d'arrêter et de redémarrer le démon. Juste /etc/init.d/transmission-daemon recharger.
Brad le
1
Au moins au moment où j'ai écrit la réponse, vous éditez le fichier alors qu'il est arrêté, car transmission-daemon écrit le fichier à la fermeture.
Neil
1
init.d / reload est spécifique à la distribution. Plus généralement, vous envoyez simplement un SIGHUP - bien que ce ne soit PAS dans la page de manuel, mais seulement ici: trac.transmissionbt.com/wiki/EditConfigFiles
yardena
Commentaire d'un utilisateur anonyme: Dans mon cas, il y avait un script (dans /etc/init.d) pour lancer le démon qui lui a transmis le mot de passe: je devais éditer ce script (nommé "transmissiond") pour changer le mot de passe, etc. ça a marché.
Terdon
Remplacer un fichier de configuration de cette manière est intelligent ou non, c'est certainement une bonne source de problèmes inutiles (par opposition à simplement obliger l'utilisateur à écrire des hachages dans le fichier de configuration et à fournir des commentaires utiles à tous les niveaux). J'ai essayé de faire fonctionner la transmission pendant quelques années maintenant et documenté les tentatives. Habituellement, les autres champs sont également écrasés. J'ai classé quelques bugs à ce sujet qui ont été ignorés.
Karl Richter
2

Vous pouvez également essayer une autre solution pour trouver le mot de passe:

ps -ef | grep transmission

(pour ma version c'était admin: password1)

phénix
la source
2
Dans mon installation d'ubuntu au moins, le mot de passe est défini dans le fichier, donc la liste des processus ne vous dira pas quel est le mot de passe.
Damon Smith
2

Généralement, le démon écrit ses paramètres lorsqu'il quitte (ou est redémarré). Vous pouvez forcer le démon à recharger de nouveaux paramètres en lui envoyant SIGHUP:

tuer -HUP 1234

... alors, vos paramètres ne seront plus écrasés lors de l'arrêt.

BTW: Je ne suis pas heureux que transmission-remote-cli veuille avoir le mot de passe sur la ligne de commande. Mauvaise idée!

jm73
la source
1

Bien que ce message ait déjà reçu une réponse, je trouve utile d’ajouter que, dans Ubuntu, le démon de transmission n’est en réalité pas bloquable une fois démarré.

Cela signifie que toutes les modifications apportées à settings.json seront écrasées au prochain redémarrage, quel que soit le cas.

Cela signifie également que vous devez complètement désactiver le démarrage du démon au démarrage , redémarrer, éditer votre settings.json puis le réactiver pour que les modifications que vous faites persistent.

Assez ennuyeux, mais une fois que vous êtes au courant de ce qui se passe, il est assez facile de faire face.

Jostein Kjønigsen
la source
4
Avez-vous essayé de lancer "sudo service transmission-daemon stop" lorsque vous dites que vous ne pouvez pas vous arrêter? l'arrêter de la manière habituelle? Ça marche pour moi. Ensuite, vous pouvez éditer le fichier de paramètres et le redémarrer.
Damon Smith
1
-1, c'est tout simplement faux. La méthode @Neil fonctionne comme décrit et si ce que vous disiez était vrai, sa méthode ne fonctionnerait pas. Le fichier settings.json n'est écrasé que si vous le modifiez pendant la transmission, puis redémarrez-la.
ubiquibacon
Si vous faites ce que la majorité des utilisateurs avec un fond d'initialisation de style sysv fait instinctivement ( /etc/init.d/transmission restart), cela ne fonctionnera pas. Si vous devez faire quelque chose de "service" bizarre ou de nouveauté ou un autre Ubuntu-isme spécial pour le faire fonctionner, alors, par définition, cela ne fonctionne pas.
Jostein Kjønigsen
2
"Ne fonctionne pas comme je suis habitué" n'est pas la même chose que "ne fonctionne pas". Ça marche.
Suriv