Como o rsync --daemon sabe de que maneira está sendo executado?

1

Estou desejando executar o rsync em uma conexão criptografada SSL / TLS. Não faz isso diretamente, então estou explorando opções. O programa stunnel parece promissor, embora mais complicado do que projetado devido à necessidade de pular conexões com a opção -r. No entanto, eu acho que existe uma opção -l para executar um programa. Estou assumindo que isso funciona tendo dois processos, um para executar o trabalho SSL / TLS e outro para ser o trabalhador ao qual o cliente está se comunicando. Estes, então, se comunicariam por um par de tubos ou um soquete bidirecional entre eles.

O que me pareceu estranho quando eu pesquisei várias páginas da web para ver como configurar isso corretamente é que, seja executando como um daemon independente ou sob um super daemon como o inetd, os argumentos para rsync são os mesmos. Como o rsync - daemon sabe se ele deve abrir um soquete e escutá-lo para muitas conexões, ou apenas atender uma conexão comunicando-se com os descritores stdin / stdout é quando é inicializado (o que realmente passaria pelo processo extra para lidar com a criptografia, descrição e camada do protocolo SSL / TLS)?

E então eu preciso encontrar uma maneira de envolver o cliente para que ele faça SSL / TLS em um comando simples (em oposição ao salto de conexão que o stunnel parece favorecer).

    
por Skaperen 15.10.2012 / 07:29

2 respostas

1

Da seção sobre --daemon na página rsync(1) man:

If standard input is a socket then rsync will assume that it is being run via inetd, otherwise it will detach from the current terminal and become a background daemon.

Você pode ver os argumentos da linha de comando que se aplicam ao modo daemon executando:

rsync --daemon --help
    
por 15.10.2012 / 07:44
2

And then I need to find a way to wrap the client to have it do SSL/TLS in one simple command (as opposed to connection hopping that stunnel seems to favor).

O rsync tem uma opção --rsh para gerar stunnel e usar stdin / stdout no lado do cliente e o stunnel tem uma opção exec para gerar o rsync no lado do servidor - combinando esses dois você obterá o que deseja. Veja o rsync do dozzie sobre SSL para mais informações e scripts prontamente disponíveis para executar esta configuração (precisa git para baixar).

    
por 15.10.2012 / 10:00

Tags