Chown'ing os arquivos é um caminho, e não está errado. A questão é se é o caminho certo para você neste caso específico, que é outra questão completamente ...
Aqui estão algumas outras maneiras de fazer isso:
-
Se você executar o daemon rsync como root no servidor, poderá usar a opção
-o | --owner
para manter o mesmo proprietário do sistema local. Isso, obviamente, significa que os arquivos precisam ser propriedade de www-data no sistema em que você os edita também. Em alguns sistemas isso pode ser possível mesmo se o daemon rsync não estiver sendo executado como root; Você pode tentar adicionando--super
às opções. -
Você pode criar o diretório "setgid". Isso significa que todos os arquivos criados no diretório terão a mesma propriedade de grupo que o próprio diretório, em vez de ter o grupo principal como o proprietário do grupo. Você faz isso executando este comando:
chmod g+s /home/myuser/public
-
Você pode fazer a transferência como o usuário "www-data" em vez de como você: Isso exige que os dados de www sejam permitidos para o login, o que aumenta o risco de comprometimento do sistema. Se você escolher isso apesar do risco, recomendo que os logins só sejam permitidos com chave pública em vez de com uma senha.
-
Em vez de fazer rsync, configure um sistema de controle de versão, por exemplo, git. Quando você editar o arquivo, verifique-o no repositório git. Então, em vez de fazer o rsync pelos arquivos, faça o login no seu servidor, sudo para www-data e baixe os arquivos do repositório.