Gostaria de acompanhar as alterações no / etc /
Basicamente, eu gostaria de saber se um arquivo foi alterado, por yum update
ou por um usuário, e reverter se não gostar da mudança. Pensei em usar um VCS como git, LVM ou snapshots btrfs ou um programa de backup para isso.
O que você recomendaria?
Respostas:
Parece que você deseja o etckeeper de Joey Hess, do Debian, que gerencia arquivos sob o
/etc
controle de versão. Ele suporta git, mercurial, darcs e bazar.fonte
Não posso lhe dar uma recomendação final, mas posso compartilhar algumas idéias sobre o assunto. Como o / etc geralmente é pequeno, você pode optar por uma solução simples de tar-ball compactada. Se você dificilmente precisar passar pela história, talvez seja a solução mais fácil de configurar.
Para mim, seria tedioso gerenciar volumes lógicos apenas para acompanhar / etc e, especialmente, não acho que os snapshots do LVM foram projetados para serem criados regularmente como meio de backup de uma quantidade relativamente pequena de dados.
O btrfs me parece muito melhor equipado para isso, mas ainda não é tão estável quanto, por exemplo, o ext {2,3,4} e a ferramenta fsck também não está pronta ainda. Mas melhora continuamente.
Pessoalmente, na verdade, eu uso o git para rastrear o / etc, mas você deve ter em mente que o git não armazena as metainformações dos arquivos, como propriedade ou permissão! E também verifique se o diretório .git tem a permissão correta. Existem algumas ferramentas que ajudam com esses problemas. Você pode dar uma olhada no etc-keeper , que foi desenvolvido exatamente para acompanhar o / etc ou usar pelo menos algo como gitperms ou metastore para rastrear as metainformações.
fonte
Para acompanhar as alterações "indesejadas", usamos um HIDS - no nosso caso,
samhain
outros sãotripwire
ouaide
. Todos esses sistemas o alertarão quando algo indesejado acontecer.A
yum update
não deve mudar nada sem deixar um .rpmnew ou .rpmold, se o arquivo de configuração estiver marcado como tal no rpm correspondente.Myselv, achei uma boa prática fazer uma cópia de segurança do arquivo com o qual vou modificar
cp -p origfile origfileYYYY-MM-DD
com a data do dia anterior.Se tudo mais falhar - chamo os caras de backups e peço uma restauração do último backup "bom" conhecido.
fonte
Eu acho que você pode fazer um instantâneo de arquivos / diretórios no
/etc
.Primeiro faça uma lista de arquivos / etc / directory:
E se você criar um arquivo no
/etc
e se você retomar um instantâneo do
/etc
que fizemos antese então você pode comparar as diferenças entre os 2 arquivos como este:
fonte
Sempre há radmind . Você pode reverter essa alteração imediatamente, se não gostar.
fonte
Você está procurando gerenciamento de configuração ou rastreando / monitorando as alterações do sistema de arquivos?
Se for mais cedo, eu examinaria
puppet
ouchef
.CFEngine
existe para fins comerciais.puppet
é uma fera popular nos dias de hoje.Se for o último, é difícil monitorar as alterações do sistema de arquivos; no entanto, existem instâncias de programas como
inotify
auditoria de sistema de arquivosauditctl
ou SGI,fam
mas, novamente, é uma coisa de monitoramento e pode ser uma implementação cara (o desempenho do sistema de arquivos pode se deteriorar).fonte
Você pode verificar o
rsnapshot
que mantém instantâneos de hora em hora de qualquer diretório que desejar ... você pode configurá-lo para fazer 24 horas, depois X diários, depois X semanais, etc. Tanto quanto desejar para o espaço em disco. É inteligente o suficiente para criar um link físico quando os arquivos não foram alterados (é usadorsync
nos bastidores.fonte
Você pode considerar usar
git
. Você pode: É eficiente no rastreamento de alterações e muito fácil de usar para algo assim.Eu acredito que a configuração inicial é assim. Eu não faço isso há um tempo.
Essa abordagem funciona melhor em um único servidor, mas pode ser aplicada em camadas com outras ferramentas que alteram o repositório. Isso pode ser útil no (s) seu (s) canário (s) para garantir que as mudanças esperadas estejam ocorrendo.
Você pode usar a clonagem para manipular arquivos comuns a vários servidores.
fonte
Eu tenho um script que é executado todos os dias e faz backup de arquivos que foram alterados desde o backup anterior:
Você passa no caminho em que os backups seriam criados e esse diretório terá uma listagem semelhante a esta (após algumas execuções):
Você pode modificá-lo um pouco para registrar alterações com mais frequência ou usar o inotify para acionar uma versão modificada do script quando ocorrerem alterações
/etc
.fonte