Esse comportamento que você está procurando é controlado pela opção -o
(--owner) do rsync, possivelmente junto com --no-numerics-ids
. A página man descreve --owner assim (minha ênfase):
-o, --owner
This option causes rsync to set the owner of the destination file to be the same as the source file, but only if the receiving rsync is being run as the super-user (see also the --super and --fake-super options). Without this option, the owner of new and/or transferred files are set to the invoking user on the receiving side.The preservation of ownership will associate matching names by default, but may fall back to using the ID number in some circumstances (see also the
--numeric-ids
option for a full discussion).
Existe uma opção semelhante -g
(--group) que funciona em grupos.
No entanto, ambos devem estar implícitos em -a
, o que significa que você precisa de algo mais. Esse "algo mais" é detalhado por este pequeno detalhe na descrição da opção, que é bastante fácil senhorita:
only if the receiving rsync is being run as the super-user
O rsync de recepção deve ser executado como root. Quando você pensa sobre isso, faz sentido, pois somente o root é capaz de alterar a propriedade de um arquivo para um usuário arbitrário (que é basicamente você está pedindo algo para fazer).
Portanto, certifique-se de que o daemon rsync remoto seja executado como raiz e que a propriedade do arquivo (com base nos nomes de usuários e grupos) seja preservada quando possível quando você usar a opção-a
(ou -og
). p>