Me gustaría hacer un seguimiento de los cambios en / etc /
Básicamente me gustaría saber si un archivo fue cambiado, por yum update
o por un usuario y revertirlo si no me gusta el cambio. Pensé en usar un VCS como instantáneas git, LVM o btrfs o un programa de respaldo para esto.
¿Qué recomendarías?
Respuestas:
Parece que quieres etckeeper de Joey Hess de Debian, que gestiona archivos
/etc
utilizando el control de versiones. Es compatible con git, mercurial, darcs y bazar.fuente
No puedo darle una recomendación final, pero puedo compartir algunas reflexiones sobre el tema. Dado que / etc suele ser bastante pequeño, puede optar por una solución simple de bola de alquitrán comprimida. Si apenas necesita revisar el historial, podría ser la solución más fácil de configurar.
Para mí, sería demasiado tedioso administrar volúmenes lógicos solo para hacer un seguimiento de / etc y especialmente porque no creo que las instantáneas LVM hayan sido diseñadas para crearse regularmente como un medio para respaldar una cantidad relativamente pequeña de datos.
btrfs me parece que está mucho mejor equipado para esto, pero aún no es tan estable como, por ejemplo, ext {2,3,4} y la herramienta fsck tampoco está lista todavía. Pero continuamente mejora.
Personalmente, en realidad uso git para rastrear / etc, ¡pero debes tener en cuenta que git no almacena metainformación de archivos como propiedad o permiso! Y también verifique que el directorio .git tenga el permiso correcto. Sin embargo, hay algunas herramientas que ayudan con estos problemas. Es posible que desee echar un vistazo a etc-keeper , que fue desarrollado exactamente para el seguimiento de / etc o usar al menos algo como gitperms o metastore para rastrear la metainformación.
fuente
Para realizar un seguimiento de los cambios "no deseados" utilizamos un HIDS, en nuestro caso,
samhain
otros sontripwire
oaide
. Todos estos sistemas te avisarán cuando ocurra algo no deseado.A
yum update
no debería cambiar nada sin dejar un .rpmnew o .rpmold, si el archivo de configuración está marcado como tal en las rpm correspondientes.Myselv me pareció una buena práctica hacer una copia de seguridad del archivo que voy a modificar
cp -p origfile origfileYYYY-MM-DD
con la fecha del día anterior.Si todo lo demás falla, llamo a los chicos de las copias de seguridad y solicito una restauración desde la última copia de seguridad "buena" conocida.
fuente
Creo que puedes hacer una instantánea de los archivos / directorios en
/etc
.Primero haga una lista de archivos / etc / directorio:
Y si haces un archivo en el
/etc
y si retomas una instantánea de
/etc
lo que hemos hecho antesy luego puedes comparar las diferencias entre los 2 archivos como este:
fuente
Siempre hay radmind . Puede hacer retroceder ese cambio si no le gusta.
fuente
¿Está buscando gestión de configuración o seguimiento / monitoreo de los cambios del sistema de archivos?
Si es antes, miraría
puppet
ochef
.CFEngine
existe para fines comerciales.puppet
Es una bestia popular en estos días.Si es el último, es difícil monitorear los cambios en el sistema de archivos; sin embargo, hay instancias de programas como la
inotify
auditoría del sistema de archivosauditctl
o SGI,fam
pero nuevamente, es una cosa de monitoreo y puede ser una implementación costosa (el rendimiento del sistema de archivos puede deteriorarse).fuente
Puede verificar
rsnapshot
qué mantiene instantáneas por hora de los directorios que desee ... puede configurarlo para que haga 24 horas, luego X diarios, luego X semanales, etc. Tanto como desee para el espacio en disco. Es lo suficientemente inteligente como para vincular cuando los archivos no han cambiado (se usarsync
detrás de escena.fuente
Podría considerar usar
git
. Puede es eficiente en el seguimiento de los cambios y muy fácil de usar para algo como esto.Creo que la configuración inicial es así. No lo he hecho por un tiempo.
Este enfoque funciona mejor para un solo servidor, pero se puede combinar con otras herramientas que cambian el repositorio. Esto puede ser útil en su (s) sitio (s) canario (s) para asegurar que ocurran los cambios esperados.
Es posible que pueda usar la clonación para manejar archivos comunes a múltiples servidores.
fuente
Tengo un script que se ejecuta todos los días y realiza copias de seguridad de los archivos que han cambiado desde la copia de seguridad anterior:
Pase la ruta donde se crearían las copias de seguridad y ese directorio tendrá una lista similar a esta (después de algunas ejecuciones):
Puede modificarlo un poco para registrar los cambios con más frecuencia o usar inotify para activar una versión modificada del script cuando se producen cambios
/etc
.fuente