Desde qué registro puedo obtener detalles sobre los comandos sudo ejecutados por cualquier usuario. Debe contener el directorio de trabajo, comando, usuario. Sería útil si pudiera proporcionarme un script de shell para hacerlo
Dependiendo de tu distribución; simplemente:
$ sudo grep sudo /var/log/secure
o
$ sudo grep sudo /var/log/auth.log
lo que da:
Nov 14 09:07:31 vm1 sudo: pam_unix(sudo:auth): authentication failure; logname=gareth uid=1000 euid=0 tty=/dev/pts/19 ruser=gareth rhost= user=gareth
Nov 14 09:07:37 vm1 sudo: gareth : TTY=pts/19 ; PWD=/home/gareth ; USER=root ; COMMAND=/bin/yum update
Nov 14 09:07:53 vm1 sudo: gareth : TTY=pts/19 ; PWD=/home/gareth ; USER=root ; COMMAND=/bin/grep sudo /var/log/secure
El usuario que ejecuta el comando está después de sudo:- garethen este caso.
PWD es el directorio
USERes el usuario que garethse ejecuta como, rooten este ejemplo.
COMMAND Es el comando ejecutado.
Por lo tanto, en el ejemplo anterior, garethsolía sudoejecutar yum updatey luego ejecutó este ejemplo. Antes de eso, escribió la contraseña incorrecta.
En sistemas más nuevos:
$ sudo journalctl _COMM=sudo
da una salida muy similar.
Un "filtro de resultados" para la solución de Gareth. (para aquellos que llegaron por título de publicación, no por descripción)
Le ofrece una lista limpia de comandos, ejecutados como sudo, por todos los usuarios.
$sudo journalctl _COMM=sudo | sed -e '/COMMAND/!d' -e 's/.*COMMAND=//' -e 's/.*bin\///'
Solución alternativa si no está disponible
$sudo journalctl _COMM=sudo | grep COMMAND
Resultados de C&P en hojas de Google
En la celda B1 C&P esta fórmula
=arrayformula(REGEXREPLACE(A1:A,".*AND=/usr/bin/(.*)","$1"))