Como definir permissões de arquivo / pasta usando o Rsync do Windows para o Linux

11

Quero transferir muitos arquivos / pastas do Windows para o Linux usando o Rsync. No servidor linux (destino), desejo a permissão de arquivo definida como 644 e a permissão de pasta definida como 755. Se possível, desejo que a propriedade seja definida como root.root para todos os arquivos / pastas. Eu tentei a opção -p, mas não funciona. Obrigado por qualquer ajuda.

garconcn
fonte
Experimente umask 022antes da sua cópia.
BillThor 10/02

Respostas:

23

Você pode definir as permissões usando o --chmodparâmetro

--chmod=Du=rwx,Dgo=rx,Fu=rw,Fog=r 

forçará as permissões a serem definidas para 755 para Directories e 644 para Files.

Iain
fonte
Obrigado. A pasta parece mudar para 744 (drwxr - r--). De qualquer forma, decido alterar a permissão após a transferência.
garconcn
7
A --chmodtambém aceita números de modo octal, que na minha opinião é mais fácil de visualizar a permissão dada:--chmod=D2775,F664
Fred Wuerges
Você também pode usar --chmod o=rXpara atribuir automaticamente o xsinalizador às pastas , mas omiti-lo dos arquivos.
hachre
Você precisa especificar --permstambém?
OrangeDog
9

A sintaxe do argumento --chmod mencionada acima não é muito precisa. Quando você especifica proprietário, grupo ou outro, e não o precede com um "D" ou um "F", ele será aplicado a todos os tipos de arquivos e o último parâmetro encontrado como padrão. Isso explicaria por que seus diretórios foram lançados como 744, pois o último parâmetro no argumento era og = r.

Tente isso:

--chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r
Ned W.
fonte