Como restaurar Linux com ACLs

Como restaurar Linux com ACLs

Criei ddum backup de todo o sistema e gostaria de restaurá-lo em uma nova unidade (criptografada). Eu usei com sucesso rsync -adpara restaurar arquivos e permissões para o sistema de arquivos ext4 recém-criado (inicializei-o com sucesso e estou usando-o para escrever isso), mas não consigo acessar dispositivos montados /media/username(digamos que eu clique em alguma partição no gerenciador de arquivos para montar it), este diretório e pontos de montagem são de propriedade de root:root. As permissões de arquivos conhecidos (por exemplo, coisas em /home) estão definidas corretamente, então presumo que também /media/*pertenciam a ele rootantes do backup. Eu acho que há problema comLCAS.

  • Existe uma maneira de restaurarLCAé sem ter que copiar tudo pela segunda vez? (Eu encontreiesseguia, mas diz que não é confiável. Não sei se isso é bom para o meu caso de uso. Além disso, não preciso restaurar a propriedade e as permissões do Linux, isso já deve estar correto e não quero quebrá-lo. Talvez -sa opção getfaclseja o que eu preciso?)
  • Há mais alguma coisa rsyncomitida e que precisa ser restaurada?
  • Se não for possível salvar isso e eu tiver que copiar tudo novamente, o que devo usar. Guia que segui usei taro comando, mas foi muito lento canalizar dois tarcomandos.

eu usoLinux Mint 19.3.

editar: verifiquei o backup ( /mnt/), estou certo, as ACLs estão definidas:

sudo getfacl /mnt/media/username/
getfacl: Removing leading '/' from absolute path names
# file: mnt/media/username/
# owner: root
# group: root
user::rwx
user:username:r-x
user:libvirt-qemu:--x
group::---
mask::r-x
other::---

edit2: Fiz algumas alterações desde que copiei tudo, então prefiro um método que não substitua o conteúdo dos arquivos.

Responder1

Solução que funcionou para mim (se você deseja restaurar apenas ACLs e permissões, mas não deseja alterar arquivos):

cd /path/to/backup  # so that saved paths would be relative to backed up root
getfacl -R . > ~/facl.bak
cd /
setfacl --restore=/root/facl.bak

Responder2

Você pode usar rsync -avXem vez de rsync -ad. Deve aplicar quaisquer ACLs ausentes sem copiar novamente o conteúdo do arquivo.

Adicione o -usinalizador para evitar a atualização de arquivos alterados e --existingpara evitar a criação de novos arquivos (por exemplo, onde você os excluiu do destino).

informação relacionada