Deixe o tratamento da ACL para o Windows com Cygwin rsync


10

Estou executando um rsynccomando, copiando meus arquivos de um servidor para minha máquina Windows como:

rsync -rt --partial-dir=".rsync" --del rsync://server/a/ a/

Sempre que esse comando cria um diretório, ele tende a criar um diretório com ACLs / permissões malucas. Para mim, ele tende a criar dez <not inherited>entradas, sendo uma negada para o usuário que executou o rsynccomando e as outras também não fazendo muito sentido. Isso acontece mesmo usando a --chmod=ugo=rwXopção, sugerida por um thread semelhante .

O que posso fazer para impedir a rsynctentativa de definir permissões (e deixar as permissões para a herança da ACL no Windows)?

Respostas:


12

Monte o diretório em questão com a noaclopção, conforme descrito no manual .

(E se você quiser saber por que o mapeamento das permissões do Unix para as ACLs do Windows não é simples, veja aqui .)


noaclevita as permissões malucas, mas como ele falsifica as permissões com o bit "somente leitura", recebo vários diretórios parciais somente leitura estranhos. Isto é uma melhoria.
palswim

11
Na verdade, parece que recebo esse sintoma "parcial somente leitura" em qualquer diretório (tenha sido rsynccriado ou não). Parece que o Windows está dizendo apenas que os diretórios não têm propriedade somente leitura .
precisa saber é o seguinte

2
A resposta do ak2 foi muito útil, mas foi preciso um pouco de pesquisa para descobrir como configurar o noaclin / etc / fstab corretamente. Achei este link bastante útil. Usando noaclcorrigidos meus problemas de rsync - obrigado.
microfonação

11
O @miking já deu uma boa dica com esse link e a noaclopção. Não funcionou para mim com o MobaXterm (portátil), pois isso parece recriar /etc/fstaba cada início. Eu parcialmente contornei essa colocação mount -c /drives -o binary,posix=0,user,auto,noaclna minha .bashrc. "Parcialmente", pois isso afeta apenas as "letras de unidade do Windows" (e não por exemplo /home).
Izzy

11
@ SimonEast - Encontrei isso enquanto você respondia. Você poderia tentar isso e responder? - developers.redhat.com/blog/2018/02/07/… - # Se a sua distribuição não tiver um arquivo fstab, o que é típico cwRsync, isso é facilmente corrigido. Crie o arquivo $MY_RSYNC_DIST_DIR/etc/fstabe cole o seguinte conteúdo:none /cygdrive cygdrive binary,posix=0,user,noacl 0 0
Alex S
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.