Como você poderia preservar a propriedade de arquivos em um backup (/ etc)?

3

Eu vi várias fontes sugerirem que pode ser útil fazer o backup de /etc . Por exemplo. a apresentação "Suportando máquinas Debian para amigos e familiares".

Para qualquer backup sério, também precisamos de um processo de restauração bem definido (que podemos testar periodicamente: -).

Como você restaura esses arquivos de sistema, a partir de um backup que inclui informações de propriedade ? Dê um exemplo de um processo de restauração funcional. Indique quaisquer suposições feitas. Você pode assumir a ferramenta de backup de sua escolha, por exemplo tar ou etckeeper .

Exemplo de arquivos com proprietários específicos:

$ ls -l|grep -v "root root"
total 2240
-rw-r-----.  1 root brlapi     33 Nov 15 21:32 brlapi.key
-rw-r-----.  1 root chrony    481 Nov 21 11:03 chrony.keys
drwxr-xr-x.  4 root lp       4096 Apr 18 10:58 cups
-rw-------.  1 tss  tss      7046 Feb  5  2016 tcsd.conf
    
por sourcejedi 18.04.2017 / 16:46

2 respostas

2

A maneira que eu faço é instalar o etckeeper . Está bem integrado no Debian e derivados. O Etckeeper cuida de lembrar as permissões (mas não as etiquetas do SELinux). O backup de /etc é então reduzido ao problema bem compreendido de fazer backup de um repositório de controle de versão (por exemplo, git pull de /etc ).

Para restaurar o backup:

  1. Execute uma instalação padrão (a mesma instalação padrão do original).
  2. Instale etckeeper e o sistema de controle de versão necessário.
  3. Restaure o backup de /etc ( git clone e git checkout ou equivalente). Como apontado pelo sourcejedi, você precisa fazer isso antes de instalar qualquer pacote que atribua dinamicamente IDs de usuário ou grupo.
  4. Restaure a lista de pacotes instalados e instale-os. Etckeeper não acompanha isso; no Debian e derivados, use apt-clone , veja Como eu replico seleções de pacotes instalados de um sistema Debian para outro? (Debian Wheezy) ).
  5. Reinicialize.

Observe que há algumas coisas que podem não funcionar se o hardware não for exatamente o mesmo ou se o sistema de arquivos tiver sido reformatado, o que costuma ser o caso quando você restaura um backup. Para que a restauração funcione de forma mais perfeita, certifique-se de não usar identificadores de hardware exclusivos em qualquer configuração (por exemplo, endereço MAC, número de série do disco) ou identidades aleatórias (por exemplo, usar rótulos de sistema de arquivos, UUIDs de partição ou sistema de arquivos). >     

por 19.04.2017 / 02:22
1

Esta resposta é uma lista de verificação de alguns problemas que precisariam ser testados, não tendo sido mencionados em outro lugar. Agora posso descontar com prazer as menções de "backup" / etc, que também não detalham como restaurá-lo. Eu não testei para ver se esta lista de verificação está completa .

As etapas a seguir também ignoram os termos & outras mudanças que eu vejo no etckeeper durante atualizações de pacotes, como não especificamente mencionado na questão. Pelo menos existem provavelmente sistemas mais simples onde isso não é um problema, como roteadores rodando o OpenWrt.

  1. Suposição: esse backup inclui especificamente /etc .
  2. Suposição: você também sabe como vai lidar com qualquer referência a sistemas de arquivos, por exemplo que pode ter sido recriado com um UUID diferente, em /etc/fstab .
  3. Suposição: o sistema de destino não inclui nenhum usuário extra , quando comparado ao backup. Por exemplo. é uma nova instalação do sistema operacional, seu usuário inicial é criado com o mesmo nome (e UID) e nenhum serviço adicional foi adicionado ao SO durante uma atualização. Isto é provavelmente verdade dentro de uma versão estável do Debian, mas certamente não é confiável para uma distribuição de lançamento.
  4. Suposição: o processo de instalação é totalmente determinístico w.r.t. UIDs designados (ordem de instalação de pacotes), e isto não é afetado por nenhuma nova atualização nos repositórios. Eu acredito que os gerenciadores de pacotes usuais são deterministas. Novamente, o Debian estável é provavelmente confiável, um release não é, e entre eles existe uma área de incerteza. Você também pode organizar a mesma versão do instalador, sem acesso a repositórios de atualização (durante a restauração e quando você instalou o sistema original).
  5. Você já deve ter instalado a (s) ferramenta (s) de restauração para seu backup:).
  6. As etapas abaixo também assumem os arquivos de senhas shadow tradicionais do Linux. Os sistemas BSD usam nomes de arquivos diferentes. Alguns sistemas Linux de propósito especial introduziram um estilo significativamente diferente .
  7. Certifique-se de poder inicializar em algum "modo de recuperação", sem usar nenhuma senha definida em /etc , e você não precisa de nada mais complexo para acessar o backup. Estamos brincando com fogo aqui. Não sei como a criptografia de disco lidará com isso, embora o uso da mesma senha que o backup possa ajudar. Observe que as etapas abaixo não funcionarão se forem executadas a partir de um "sistema separado ".
  8. mv /etc/ /etc.installer # can be removed later
  9. mkdir /etc && chmod 755 /etc
  10. ID_FILES=passwd group shadow
  11. for i in $ID_FILES; do cp /etc.installer/${i} /etc; done
  12. Agora, para cada arquivo i in $ID_FILES , você pode restaurar /etc/${i} de seu backup para o sistema de destino.
  13. Agora você pode restaurar todos os arquivos, incluindo suas informações de propriedade.
  14. Agora você pode reaplicar os marcadores do SELinux ou equivalente, se necessário.

Se o backup for um repositório do etckeeper (e nenhum arquivo adicional), a etapa 12 é copiar / clonar para /etc e, em seguida, executar etckeeper init . Você provavelmente poderia pular etapas 10-12.

OpenWrt

Backup / restauração de configuração do sistema é suportado em roteadores OpenWrt, com um recurso específico na interface da Web.

No meu sistema OpenWrt 15.05.1, vejo que os únicos usuários que possuem arquivos em /etc (ou em qualquer outro lugar) são root e nobody . Deve ser seguro assumir que uma nova instalação do OpenWrt já inclui esses usuários.

Não sei se as configurações do OpenWrt que adicionaram usuários extras seriam tratadas corretamente por essa ferramenta.

    
por 18.04.2017 / 16:46