Como você define uma senha para o daemon de transmissão, o servidor cliente BitTorrent?

58

O arquivo de configuração é ambíguo e continua sendo substituído quando você reinicia o daemon no Debian, de qualquer maneira.

Em /etc/transmission-daemon/settings.json, existem estas opções:

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

Toda vez que eu reinicio o daemon com:

/etc/init.d/transmission-daemon restart

Ele substitui rpc-passworde a senha impressa não funciona de qualquer maneira.

Alguém sabe como definir a senha corretamente? Eu não quero desativá-lo.

Neil
fonte
2
Basta colocar isso aqui para quem pode se deparar no futuro, mas você também tem que definir rpc-authentication-requireda trueno arquivo de configurações, caso contrário Transmissão não irá verificar se há uma senha.
Robmathers
Eu relatei esse comportamento porque não é construtivo em bugs.launchpad.net/ubuntu/+source/transmission/+bug/1644091 , mas foi ignorado como muitos bugs do Ubuntu.
Karl Richter

Respostas:

113

Faça estas coisas na ordem exata:

  1. Encerramento: /etc/init.d/transmission-daemon stop
  2. Escreva rpc-passwordno /etc/transmission-daemon/settings.jsonarquivo, entre aspas duplas.
  3. Salve esse arquivo
  4. Inicialização: /etc/init.d/transmission-daemon start
  5. Entre na página, está na porta 9091
  6. Digite sua senha.

A senha que está sendo substituída é um hash. O programa é mais inteligente do que o habitual e detecta que sua senha não é um hash; portanto, ele substitui a senha pelo hash para garantir a segurança. Portanto, sua senha deve funcionar.

No entanto, lembre-se de que ele grava a senha carregada quando é desligada. Isso /etc/init.d/transmission-daemon restartnão fará o que você espera se tiver gravado o arquivo enquanto estiver em execução.

Neil
fonte
9
Você não precisa parar e reiniciar o daemon. Apenas /etc/init.d/transmission-daemon recarregue.
Brad
11
Pelo menos no momento em que escrevi a resposta, você realmente edita o arquivo enquanto está parado, porque o daemon de transmissão grava o arquivo de perto.
Neil
11
init.d / reload é específico da distribuição. Mais geralmente, você acabou de enviar um SIGHUP - embora este não é na página de homem, só aqui: trac.transmissionbt.com/wiki/EditConfigFiles
Yardena
Comentário de um usuário anônimo: No meu caso, havia um script (em /etc/init.d) para iniciar o daemon que passava a senha: Eu tive que editar esse script (chamado "transmissiond") para alterar a senha e, portanto, funcionou.
terdon
Sobrescrever um arquivo de configuração dessa maneira é inteligente ou não, é definitivamente uma boa fonte para problemas desnecessários (em comparação com apenas forçar o usuário a escrever hashs no arquivo de configuração e fornecer feedback útil em todos os níveis). Tentei fazer a transmissão funcionar há alguns anos e documentei as tentativas. Normalmente, outros campos também são substituídos. Eu arquivei alguns erros sobre isso que foram ignorados.
Karl Richter
2

Você também pode tentar outra solução para encontrar a senha:

ps -ef | grep transmission

(para minha versão era admin: password1)

Fénix
fonte
2
Na minha instalação do ubuntu, pelo menos, a senha é definida no arquivo, portanto, listar os processos não informará qual é a senha.
Damon Smith
2

Geralmente, o daemon grava suas configurações quando sai (ou é reiniciado). Você pode forçar o daemon a recarregar novas configurações enviando-o SIGHUP:

kill -HUP 1234

... então ele não substituirá mais as suas configurações ao parar.

BTW: Não estou feliz que o remote-remote-cli da transmissão queira ter a senha na linha de comando. Péssima ideia!

jm73
fonte
1

Embora este post já tenha uma resposta aceita, acho que vale a pena acrescentar que, no Ubuntu, o daemon de transmissão não pode ser interrompido uma vez iniciado.

Isso significa que todas as alterações feitas em settings.json serão substituídas na próxima reinicialização, sempre que for.

Isso também significa que você deve desativar completamente o daemon-startup na inicialização , reinicializar, editar o settings.json e reativá-lo para fazer as alterações persistentes.

Muito chato, mas quando você está ciente do que está acontecendo, é bastante fácil lidar com isso.

Jostein Kjønigsen
fonte
4
Quando você diz que não pode ser interrompido, tentou executar: "sudo service transmission-daemon stop"? para pará-lo da maneira usual? Isso funciona para mim. Em seguida, você pode editar o arquivo de configurações e reiniciá-lo.
Damon Smith
11
-1, isso está incorreto. O método @ Neil funciona como descrito e, se o que você disse era verdade, o método dele não funcionaria. O arquivo settings.json somente será sobrescrito se você o modificar enquanto a transmissão estiver em execução e reinicie a transmissão.
Ubiquibacon
Se você fizer o que a maioria clara dos usuários com um init-background no estilo sysv faz instintivamente ( /etc/init.d/transmission restart), de fato não funciona. Se você tiver que fazer alguma coisa estranha de "serviço" ou algo inicial ou outro Ubuntu-ism especial para fazê-lo funcionar, então, por definição, não funciona.
Jostein Kjønigsen 5/05
2
"Não funciona do jeito que estou acostumado" não é o mesmo que "não funciona". Funciona.
suriv 28/05