Estou tentando fazer um rsync local, de um ponto de montagem para uma pasta local. Preciso definir o proprietário, o grupo e as permissões para configurações específicas. Aqui está o que eu estou usando:
rsync -rtlv --chown=process:sambausers --chmod=D770,F770 /mnt/owncloud_mnt/Engineering/ /Drive_D/docs/Engineering_test
Acabo com permissões 760 em diretórios e arquivos e root: root on owner (o rsync é executado como root).
O que estou fazendo errado?
TIA
Respostas:
O rsync precisa ser informado de que você deseja definir as permissões e as informações de proprietário / grupo. Seria lógico supor que ter
--chmod
ou--chown
diria isso, mas não o fazem.Para que as permissões sejam propagadas, você precisa do sinalizador
--perms
ou-p
e, para proprietário / grupo, precisa--owner --group
ou-og
sinalizadores para que as informações do proprietário / grupo / permissão sejam definidas.A documentação é um pouco pouco clara, portanto não está claro como as permissões são tratadas com combinações diferentes ou se os arquivos existentes são afetados.
fonte
$(whoami)
Achei esta versão StackOverflow da mesma pergunta mais útil, porque parece que Roger e eu temos rsyncs com preferências diferentes para o formato de
--chmod
(a minha é a 3.1.3 de um pacote Debian).Como Sami disse, o rsync precisa receber "permissões", portanto, inclua ou inclua
-p
implicitamente o uso-a
. Porém, para executar o comando, você precisa (por exemplo, dos diretórios 755 e arquivos 644)--chmod=Du=rwx,Dg=rx,Do=rx,Fu=rw,Fg=r,Fo=r
, em vez do formato "D755, F644".fonte