Respostas:
Usando alcatrão
Para criar:
tar --acls -cpf backup.tar some-dir-or-file
Para desarmar:
tar --acls -xpf backup.tar
tar: unrecognized option '--acls'
não funciona.
--acls
tar
não suporta --acls
até Jessie. (Veja o bug # 732071. ) O recurso também está disponível no pacote em wheezy-backports
.
Na verdade, acredito que a questão não era sobre os bits de permissão de arquivo (padrão), mas informações estendidas da 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 de manual do GNU tar 1.15.1, fornecida com o RHEL 5.2, menciona os switches --acls e --no-acls, mas não consegui fazê-los funcionar).
No entanto, o programa estrela poderá fazer backup e restaurar ACLs, se você selecionar o formato exustar :
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 A estrela está disponível no ubuntu, pelo menos.
star
não está disponível no Debian e não parece ser mantido por uma "equipe". O projeto ainda está vivo e mantido após mais de 30 anos. Tente bsdtar
se você quiser algo mais.
Estou procurando uma solução também, até agora encontrei o seguinte:
primeiro faça um getfactl da minha pasta
getfacl -R /a_folder > folder.acl
então faça um alcatrão regular
tar -czvf folder.tar.gz /a_folder
quando eu extraio
tar -xvf folder.tar.gz
faça um setfacl para as permissões.
setfacl --restore=folder.acl
isso funciona para mim.
Se você está procurando uma solução simples de usar e poderosa, eu recomendo rdiff-backup
.
Basicamente, ele faz uma cópia de um diretório de origem para um diretório de destino, mas também salva informações adicionais para que você possa voltar no tempo para quando quiser.
E, é claro, preserva links simbólicos, arquivos especiais, hardlinks, permissões, propriedade de uid / gid e tempos de modificação.
Eu sugiro que você use bsdtar
.
bsdtar
backups estendida ACL por padrão , ele usa a mesma sintaxe como GNU tar
, e os arquivos que ela produz são lidos por GNU tar
.
O nome do pacote e do comando (em distribuições baseadas no Debian) é bsdtar
.
bsdtar cf archive.tar /my/folder/using/extd_acl
bsdtar xf archive.tar
O segundo comando (extração) restaura ACLs.
A partir do piche Man Page.
-p, --same-Permissions, --preserve-Permissions
ignoram umask ao extrair arquivos (o padrão para root)
Na verdade, não é o ato de arquivar que altera as permissões de acesso (ACLs), mas o ato de descompactá-las. O Tar é frequentemente usado para distribuir arquivos de um usuário para outro e, portanto, é conveniente aplicar umask aos usuários quando eles são descompactados.
Para preservar as permissões anteriores dos arquivos, basta ad ap para suas opções. Por exemplo
Alcatrão reto:
tar xvp some-file
bz.tar:
tar xvjp some-file
gz.tar:
tar xvzp some-file