Dettagli sui comandi sudo eseguiti da tutti gli utenti


10

Da quale registro posso ottenere dettagli sui comandi sudo eseguiti da qualsiasi utente. Dovrebbe contenere la directory di lavoro, il comando, l'utente. Sarà utile se potessi fornirmi uno script di shell per farlo

Risposte:


23

A seconda della distribuzione; semplicemente:

$ sudo grep sudo /var/log/secure

o

$ sudo grep sudo /var/log/auth.log

che dà:

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

L'utente che esegue il comando è dopo sudo:- garethin questo caso.

PWD è la directory.

USERè l'utente che garethesegue come - rootin questo esempio.

COMMAND è il comando eseguito.

Pertanto, nell'esempio sopra, garethusato sudoper eseguire yum updatee quindi ha eseguito questo esempio. Prima ha digitato la password errata.

Sui sistemi più recenti:

$ sudo journalctl _COMM=sudo

dà un risultato molto simile.


0

Un "filtro dei risultati" per la soluzione di Gareth. (per quelli che sono arrivati ​​per titolo di posta, non descrizione)

Ti dà un elenco pulito di soli comandi, eseguito come sudo, da tutti gli utenti.

$sudo journalctl _COMM=sudo  | sed -e '/COMMAND/!d' -e 's/.*COMMAND=//' -e 's/.*bin\///'

Soluzione alternativa se sed non disponibile

$sudo journalctl _COMM=sudo | grep COMMAND

Risultati C&P in fogli di Google

Nella cella B1 C&P questa formula

=arrayformula(REGEXREPLACE(A1:A,".*AND=/usr/bin/(.*)","$1"))
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.