Rsync como outro usuário (www-data)

5

Eu costumo usar um cliente SSH gráfico para sincronizar um diretório local e remoto. E preciso definir a propriedade de todos os arquivos de root para www-data .

Posso fazer o mesmo com o Rsync, só que eu faço isso como www-data em vez de root , para que eu não tenha que definir a propriedade depois?

    
por aitchnyu 31.05.2012 / 14:20

3 respostas

6

Não está claro o que você deseja fazer, portanto, vamos assumir que você deseja que os arquivos locais sejam de propriedade do usuário A e que os arquivos remotos sejam de propriedade do usuário B. Se você executar o seguinte comando como usuário A:

rsync [options] [email protected]:/path/to/remote/dir /path/to/local/dir

isso teria o efeito desejado. Mas não é realmente um problema de rsync (então eu não estou elaborando o que o comando acima fará, estou focando na sua pergunta); mesmo com o seu cliente SSH gráfico, você deve ser capaz de fazer o mesmo se o executar como usuário A e configurá-lo para fazer logon no sistema remoto como usuário B.

    
por 31.05.2012 / 14:54
3

Desde que você esteja executando como root, use a opção chown que é construída em rsync:

sudo rsync --chown=www-data:group user@remoteIP:/var/www/html/ /var/www/html

(substitua 'group' pelo seu grupo desejado, ou apenas use --chown = www-data, também substitua user, remoteIP e mude as pastas ao seu gosto)

Se você não executar o comando como root, a propriedade do arquivo não será alterada, já que você precisa do sudo para isso. Então você teria que executar o comando como www-data, mas isso leva a outras complicações.

    
por 06.02.2015 / 18:11
2

se você puder sudo -u www-data, poderá executar o rsync com esse usuário. Se o seu destino estiver em um servidor diferente, você também precisará definir o caminho --rsync-path para o mesmo (sudo -u www-data rsync). você também precisa contornar o problema do tty (usando -t no seu ssh), embora dependendo da distribuição e das configurações do servidor ssh, pode ser muito complicado. pessoalmente, eu acho que é mais fácil usar o root e fazer um chown depois, a menos que o servidor não permita o login root remoto.

    
por 31.05.2012 / 14:56

Tags