rsync bullies destino ACLs para diversão

1

Eu tenho as seguintes ACLs configuradas em um diretório ( .ssh ) no destino do meu rsync:

# file: .ssh
# owner: jsmith
# group: jsmith
user::rwx
user:backup:r-x
group::---
group:backup:r-x
mask::r-x
other::---
default:user::rwx
default:user:backup:r-x
default:group::---
default:group:backup:r-x
default:mask::r-x
default:other::---

Estou usando rsync com as opções -aXzv para transferir o diretório .ssh entre dois servidores e, após a transferência, o destino tem as seguintes ACLs:

# file: .ssh
# owner: jsmith
# group: jsmith
user::rwx
user:backup:r-x            #effective:---
group::---
group:backup:r-x           #effective:---
mask::---
other::---
default:user::rwx
default:user:backup:r-x
default:group::---
default:group:backup:r-x
default:mask::r-x
default:other::---

O diretório de origem tem essas ACLs:

# file: .ssh
# owner: jsmith
# group: jsmith
user::rwx
group::---
other::---

Observe que o destino mask foi alterado de r-x (antes do rsync) para --- (após o rsync).

Por que isso está acontecendo e como posso usar o rsync para manter as permissões de usuário, grupo e outras permissões, preservando as ACLs estendidas do destino, de modo que o usuário backup tenha permissões de execução e gravação completas após a operação rsync? / p>

EDIT: Ambos os servidores estão executando o rsync 3.0.9, ambos os sistemas de arquivos do servidor possuem ACLs ativadas. O servidor de origem usa o ext3 e o servidor de destino usa o ext4.

    
por Xenon 21.04.2013 / 17:36

1 resposta

3

A máscara de destino é alterada para --- porque você está executando o rsync com a opção -a , o que implica em -p / --perms . O que isto significa é que rsync tentará preservar as permissões da fonte, que efetivamente tentará fazer um chmod 700 no destino. Consulte o link para obter explicação de por que a alteração da permissão de grupo com chmod mudará a máscara da ACL.

Quanto a respeitar as ACLs de destino e preservar o acesso ao grupo "backup", talvez executando com --no-p --chmod=g=rwX ? Isso criará novos arquivos usando a ACL padrão do diretório e atualizará os arquivos sem alterar suas permissões - ou seja, só funcionará se as permissões dos arquivos existentes não forem alteradas.

    
por 02.08.2013 / 00:43