La Web del Programador: Comunidad de Programadores
 
    Pregunta:  618 - COMANDOS QUE REALIZAN LOS USUARIOS EN UNIX
Autor:  Luis
COMO PUEDO SABER LOS EVENTOS DE LOS COMANDOS QUE SE REALIZAN LOS USUARIO EN AMBIENTE UNIX SCO OPEN SERVER 5.0

ejemplo: EL USUARIO o LOGIN (caja) REALIZO UN RM * (borro todo el contenido de su directorio actual)


  Respuesta:  Esteban Manchado
Si te refieres a saber qué órdenes ha ejecutado cada usuario, se me ocurre una forma cutre pero efectiva. Al menos el intérprete de órdenes bash guarda la "historia" de las órdenes ejecutadas en un fichero, llamado .bash_history, o algo por el estilo. Se guarda en el directorio raíz de cada usuario.

Si quieres buscar alguna orden sospechosa, con la ayuda del find puedes hacer algo así:

find /home -name .bash_history -exec egrep "rm" \
/dev/null \;
Lo del /dev/null es para que el egrep reciba más de un fichero, y así ponga el nombre al encontrar una equivalencia. Lo de "rm" lo cambias por una expresión regular que acepte egrep, que creas que concuerda con alguna orden sospechosa.

  Respuesta:  Manuel Del Moral
Otra forma de conseguir lo que deseas es hacer un pequeño programita que pida la información procedente del proceso "ps". Es decir, haría un "ps" contínuo, monitorizando la información y filtrando aquella que tú requieras.
Sería mucho más complejo pedir la información directamente a algunos demonios, como los de correo electrónico, pero más efectivo de cara a la seguridad.