rsync
somente preserva o proprietário se você solicitar com -o
- caso contrário, os arquivos pertencerão ao usuário que estiver executando o comando rsync
, assim como quando outros arquivos são criados . -a
inclui -o
, entretanto, muitas linhas de comando comuns de rsync
o incluem. man rsync
inclui uma passagem sobre isso explicitamente:
For example: if you want to use -a (--archive) but don’t want -o
(--owner), instead of converting -a into -rlptgD, you could
specify -a --no-o (or -a --no-owner).
Então, em vez de rsync -a source dest
, você pode usar rsync -a --no-o source dest
para que os arquivos sejam de propriedade do usuário que está executando o comando.
Por outro lado, normalmente você só pode alterar o proprietário de um arquivo se você estiver root, então isso não acontece muito. Se for necessário executar esse trabalho como root por algum motivo e você quiser que os arquivos pertençam ao usuário normal em vez do root, você pode usar a opção --chown
:
rsync -a --chown=youruser:yourgroup ...
Há também uma opção --usermap
para mapeamentos mais complicados, se você quiser manter alguns usuários. É necessária uma lista separada por vírgula de from:to
pairs.
Como uma opção final, uma vez que você está aparentemente executando rsync
de uma tarefa cron, basta anexar a operação de alteração de proprietário / permissões à tarefa cron com && chown ...
.