¿Cómo se puede encontrar quién o qué (servicio) eliminó un archivo o carpeta en particular en Solaris?

¿Cómo se puede encontrar quién o qué (servicio) eliminó un archivo o carpeta en particular en Solaris?

¿Existe alguna herramienta o registros que puedan brindar información al respecto? Además, si no hay forma de averiguar lo anterior, entonces... ¿puedo hacer algo que me informe cuando alguien o algún servicio intentó eliminar la carpeta?

Respuesta1

Este pequeño script Dtrace registrará fácilmente cada eliminación de archivos en el sistema:

dtrace -qn 'syscall::unlink*:entry { printf("%d, %s, %s\n", uid, execname, copyinstr(arg0));}
syscall::fsat:entry  /arg0 == 5 / { printf("%d, %s, %s\n", uid, execname, copyinstr(arg2));}'

Respuesta2

AFAIK, no existe una solución "lista para usar", pero puede usar un observador de archivos controlado por eventos para los eventos del sistema de archivos (en el directorio en el que se encuentra) y luego buscar los programas infractores que coincidan con el identificador.

Si necesita una aplicación de este tipo, puede que valga la pena preguntar en StackOverflow, ya que no puede ser el único que la necesita.

información relacionada