Detalles sobre los comandos sudo ejecutados por todos los usuarios


10

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

Respuestas:


23

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.


0

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"))
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.