2 votos

Último comando emitido en una caja GNU/Linux

Alguien preguntó en la lista de correo de mi LUG local si hay alguna manera de aprender el último comando emitido en un sistema GNU/Linux.

Supongo que estamos hablando del último comando en todo el sistema. Después de razonar un rato si limitas el conjunto de comandos a los emitidos por usuarios reales usando una consola interactiva entonces el último debería haber sido registrado en el historial de comandos.

Otra forma de pensar en esta pregunta sería preguntar cómo saber cuál fue el último proceso que se creó en una caja de GNU/Linux con respecto a si todavía se está ejecutando o ya ha terminado de ejecutarse, cuál fue el proceso padre y otra información relevante.

3voto

gnrfan Puntos 151

He encontrado un paquete para Linux que ayuda a la contabilidad de los procesos.

En mi sistema Ubuntu 9.10 hice esto para instalar el programa "acct":

sudo apt-get install acct

Entonces hay que crear un archivo de registro en blanco que se puede hacer así:

sudo touch /var/log/pacct

Después, hay que activar la contabilidad de procesos:

sudo /usr/sbin/accton /var/log/pacct

A partir de ese momento los procesos se registran junto con el usuario que los ejecutó y el terminal asociado.

El archivo de registro se puede ver con este comando:

lastcomm -f /var/log/pacct

Todavía estoy investigando este programa... pero parece que esto ayuda.

1voto

Brannon Puntos 12633

Para un usuario específico (y Shell): history

Para un proceso actual: ps

0voto

proy Puntos 752

Bueno, un sistema amplio parece bastante complicado. Tal sistema implica que debe haber algún proceso que monitoree el historial de cada usuario. Entonces, cuando se actualiza una base de datos central se actualiza. Una vez hecho esto podemos tener una extensión del comando "history" que se extraiga de la base de datos central. No es una mala idea.

0voto

Si añade lo siguiente a su archivo /etc/sudoers:

Defaults logfile=/var/log/sudolog

Todos los comandos sudo serán registrados. Puede que no sean todos los comandos de los usuarios, pero esto debería listar los más importantes que pueden modificar el sistema, que me arriesgaría a decir que es lo que buscas.

No puedes simplemente monitorear .bash_history, ya que otros usuarios podrían no estar usando el historial, o podrían no estar usando bash para empezar.

0voto

mblsha Puntos 305

Puede utilizar snoopy para controlar todos los comandos que se ejecutan.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: