2011-07-11 21:44:59 +0000 2011-07-11 21:44:59 +0000

Respuestas [6]

23
2011-07-11 21:51:46 +0000

En los sistemas operativos basados en Debian, al hacertail /var/log/auth.log | grep username se obtiene el historial de sudo de un usuario. No creo que haya una forma de obtener un historial de comandos unificado de los comandos normales + sudo de un usuario.

En los sistemas operativos basados en RHEL, tendría que comprobar /var/log/secure en lugar de /var/log/auth.log.

23
5
2015-11-04 21:51:20 +0000

Acabo de probar lo siguiente y ha funcionado de maravilla.

sudo vim /home/USER_YOU_WANT_TO_VIEW/.bash_history
5
2
2011-07-11 21:52:18 +0000

Si el usuario emitió un comando como en sudo somecommand, el comando aparecerá en el registro del sistema.

Si el usuario generó un shell con, por ejemplo, sudo -s, sudo su, sudo sh, etc, entonces el comando puede aparecer en el historial del usuario root, es decir, en /root/.bash_history o similar.

2
1
2019-01-16 07:16:45 +0000

utilice el siguiente comando

sysdig -c spy_users

si sysdig no está instalado , instale aquí

1
1
2016-01-03 19:43:19 +0000

# zless /var/log/auth* es tu amigo aquí. Abre incluso los archivos comprimidos. Puedes saltar entre ellos con :n hacia delante o :p hacia atrás.

Alternativamente, puedes usar # journalctl -f -l SYSLOG_FACILITY=10 por ejemplo. Lea más sobre esto en el wiki de Arch Linux

1
-1
2018-09-30 16:38:21 +0000

La lógica se aplica a muchos otros objetivos.
¿Y cómo leer el .sh_history de cada usuario desde el sistema de archivos /home/? ¿Y si hay miles de ellos?

#!/bin/ksh
last |head -10|awk '{print $1}'|
 while IFS= read -r line
 do
su - "$line" -c 'tail .sh_history'
 done

Aquí es el script.

-1