
Ao usar o utilitário tar para armazenar arquivos em backups, perdem-se as ACLs estendidas.
Existe alguma solução comumente usada e não hackeada (como: criar um script que irá recriar as ACLs do zero) para preservá-las?
Responder1
Na verdade, acredito que a questão não era sobre os bits de permissão de arquivo (padrão), masestendidoInformações ACL (consulte setfacl(1) ou acl(5)).
Que eu saiba, o tar GNU não modificado ignora as informações da ACL. (A página man do GNU tar 1.15.1 fornecida com o RHEL 5.2 menciona as opções --acls e --no-acls, mas não as fiz funcionar.)
No entanto, oestrelaprograma é capaz de fazer backup e restaurar ACLs, se você selecionar a opçãoexustarformatar:
star -c -p -acl artype=exustar -f archive.tar files...
star -x -acl -f archive.tar
Página inicial da estrela:http://cdrecord.berlios.de/new/private/star.html Star está disponível no Ubuntu, pelo menos.
Responder2
Também estou procurando uma solução, até agora encontrei isso:
primeiro faça um getfactl da minha pasta
getfacl -R /a_folder > folder.acl
então faça um alcatrão normal
tar -czvf folder.tar.gz /a_folder
quando eu o extrair
tar -xvf folder.tar.gz
faça um setfacl para as permissões.
setfacl --restore=folder.acl
isso funciona para mim.
Responder3
Usando alcatrão
Para criar:
tar --acls -cpf backup.tar some-dir-or-file
Para descompactar:
tar --acls -xpf backup.tar
Responder4
Eu sugiro que você usebsdtar
.
bsdtar
backups estendidos ACL por padrão, ele usa omesma sintaxeas GNU tar
, e os arquivos que ele produz podem ser lidos por GNU tar
.
O nome do pacote e do comando (nas distribuições baseadas em Debian) é bsdtar
.
bsdtar cf archive.tar /my/folder/using/extd_acl
bsdtar xf archive.tar
O segundo comando (extrair) restaura ACLs.