Eu assumi incorretamente que um rsync push / pull sem o -p sinalizador funcionaria de forma semelhante a git push / pull e que novos arquivos teriam permissões totais menos o umask .
No entanto, mesmo sem o sinal -p , rsync ainda preservará as permissões do arquivo de origem. O -p sinaliza meramente rsync para (tentar) ignorar umask do receptor.
Como por man rsync :
New files get their "normal" permission bits set to the source file's permissions masked with the receiving end's
umasksetting, and their special permission bits disabled except in the case where a new directory inherits asetgidbit from its parent directory.
Melhor ainda, há uma sugestão simples de como criar um sinalizador que ignora as permissões de origem:
To give new files the destination-default permissions (while leaving existing files unchanged), make sure that the
--permsoption is off and use--chmod=ugo=rwX(which ensures that all non-masked bits get enabled). If you'd care to make this latter behavior easier to type, you could define apoptalias for it, such as putting this line in the file~/.popt(this defines the-soption, and includes--no-gto use the default group of the destination dir):rsync alias -s --no-p --no-g --chmod=ugo=rwXYou could then use this new option in a command such as this one:
rsync -asv src/ dest/(Caveat: make sure that
-adoes not follow-s, or it will re-enable the--no-*options.)
Eu acho que vou fazer isso!