forçando sudo no servidor rsync remoto

0

Estou configurando rsync para transferir arquivos do ServerA para o ServerB e preciso preservar registros de data e hora e permissões. Eles chave aqui é os arquivos são de propriedade de uma conta diferente do que aquele que realiza a transferência de arquivos.

rsync transfere arquivos usando o exemplo abaixo:

rsync -a /colorschemes/ [email protected]:/colorschemes/ --delete

O sinalizador -a produz os seguintes tipos de erros:

rsync: failed to set times on "/colorschemes/946/ex": Operation not permitted (1)
rsync: failed to set permissions on "/colorschemes/946/ex/blue.pdf": Operation not permitted (1)

No sistema remoto, a conta do decodificador tem um erro semelhante ao tentar definir permissões manualmente em um arquivo:

[acoder@bu ~]$ chown apache:codingteam /colorschemes/946
chown: changing ownership of ‘/colorschemes/946’: Operation not permitted

Isso funciona bem:

[acoder@bu ~]$ sudo chown apache:codingteam /colorschemes/946

Existe uma maneira de fazer o rsync remoto usar o sudo?

    
por a coder 12.12.2016 / 16:28

1 resposta

4

Para usar sudo com rsync na máquina remota, você pode chamá-lo com --rsync-path="sudo rsync" , mas esteja ciente do require TTY , pule-o removendo Defaults requiretty do arquivo sudoers .

Se você quiser alterar a permissão para qualquer coisa que não seja sua, use sudo se não fosse root

ou há uma maneira diferente de definir um setuid em chmod , chown então qualquer um pode executar chmod , chown como root , mas isso será horrível .

    
por 12.12.2016 / 16:37