Restic: Restaurar com --include cria diretórios com permissões erradas no caminho para baixo.

Criado em 31 out. 2017  ·  5Comentários  ·  Fonte: restic/restic

Resultado de restic version

restic 0.7.3
compilado com go1.9 em linux / amd64

Como você executou o Restic exatamente?

Veja os detalhes abaixo

Qual backend / servidor / serviço você usou?

Cliente: Debian Stable (9.2)
Servidor: servidor FreeBSD 11.1 na LAN usando OpenSSH (OpenSSH_7.2p2, OpenSSL 1.0.2k-freebsd 26 de janeiro de 2017)

Comportamento esperado

Todos os diretórios devem ser criados com as permissões e propriedade originais, mesmo se você restaurar apenas arquivos que estejam no fundo da hierarquia.

Comportamento real

Ao restaurar arquivos que estão no fundo da hierarquia, os diretórios no caminho para baixo são restaurados com um usuário e permissão diferente, como tinham no original.

Passos para reproduzir o comportamento

mkdir testdir # criar diretório
touch testdir / testfile # crie um arquivo nele
chmod 755 testdir testdir / testfile # certifique-se de que as permissões são 755
su # mudar para root
restic -r sftp: rakor @ SERVIDOR : / usr / home / rakor / resticbackuptest backup testdir # fazendo o backup
restic -r sftp: rakor @ SERVIDOR : / usr / home / rakor / resticbackuptest restauração mais recente -t ​​testrestore -i testfile # restaura o arquivo (não o diretório inteiro)
ls -lR testrestore # o arquivo é restaurado com o proprietário e as permissões corretos. Mas os diretórios no caminho para o arquivo são restaurados com o usuário 'root' e permissões 700.
testrestore /:
insgesamt 4
drwx ------ 2 root root 4096 Okt 31 21:30 testdir

testrestore / testdir:
insgesamt 0
-rwxr-xr-x 1 rakor rakor 0 Okt 31 21:25 testfile

Você tem alguma ideia do que pode ter causado isso?

Eu acho que os diretórios no caminho para baixo não são "restaurados", mas apenas "criados" com "padrões seguros".

Você tem uma ideia de como resolver o problema?

restaure os diretórios vazios em vez de apenas criá-los.

restore bug

Comentários muito úteis

Para mim, isso definitivamente parece um bug / problema na funcionalidade de restauração. Se estou restaurando dados que pertenciam originalmente a algum usuário em um diretório que pode ser acessado por esse usuário, espero que esse usuário consiga acessar os dados restaurados, mesmo que apenas uma parte tenha sido restaurada. Restaurar os atributos do diretório (proprietário / acesso / etc) parece uma maneira natural de fazer isso.

Além disso, o comportamento atual é percebido como "restaurando pela metade" esses diretórios intermediários (sua existência foi restaurada, mas seus atributos não), o que parece inconsistente / ilógico.

Todos 5 comentários

Obrigado por abordar este problema. Não tenho certeza se definir os direitos de acesso anteriores em diretórios intermediários da maneira correta, deixe-me pensar um pouco sobre isso.

Alguma outra opinião sobre o assunto?

Para mim, isso definitivamente parece um bug / problema na funcionalidade de restauração. Se estou restaurando dados que pertenciam originalmente a algum usuário em um diretório que pode ser acessado por esse usuário, espero que esse usuário consiga acessar os dados restaurados, mesmo que apenas uma parte tenha sido restaurada. Restaurar os atributos do diretório (proprietário / acesso / etc) parece uma maneira natural de fazer isso.

Além disso, o comportamento atual é percebido como "restaurando pela metade" esses diretórios intermediários (sua existência foi restaurada, mas seus atributos não), o que parece inconsistente / ilógico.

Eu penso que isto é um erro. Se eu quiser restaurar parte de um backup, a cópia restaurada deve ser utilizável. Atualmente, ele é inutilizável sem realizar operações restic ls para descobrir as permissões apropriadas, o proprietário e o grupo de cada elemento de caminho que foi criado automaticamente. Isso realmente dificulta a restauração de arquivos / diretórios.

Concordo que o que é restaurado pelo restic deve ser restaurado de maneira consistente (ou seja, com as permissões "padrão" do usuário que está executando a restauração ou com as permissões etc. dos arquivos e pastas originais dos quais foi feito backup, não um combinação dos dois).

No entanto, posso ver um caso de uso em ambos os tipos de permissão:

  • Alguns usuários precisam / desejam restaurar os dados em um novo contexto e, com isso, desejam que as propriedades e permissões sejam "padrão", como se eles próprios tivessem criado os mesmos diretórios e arquivos novamente.
  • Alguns usuários precisam / desejam restaurar os dados no mesmo contexto ou no mesmo contexto em que foi feito o backup e, com isso, desejam que o resultado tenha a mesma propriedade e / ou permissões dos arquivos originais dos quais foi feito o backup.
  • Alguns usuários desejam manter apenas as permissões, mas não as propriedades (no entanto, eles podem facilmente corrigir as propriedades).

Acho que a maneira razoável de avançar é que se pode controlar quais propriedades e / ou permissões restaura por algumas opções para o comando de restauração.

Alguém pode confirmar se ainda é um problema? Desde que a versão 0.7.3 foi lançada, fizemos algumas mudanças na manipulação de permissão (e carimbo de data / hora) para diretórios intermediários ...

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

fd0 picture fd0  ·  3Comentários

whereisaaron picture whereisaaron  ·  3Comentários

jpic picture jpic  ·  3Comentários

TheLastProject picture TheLastProject  ·  3Comentários

fd0 picture fd0  ·  4Comentários