Szczegóły dotyczące poleceń sudo wykonywanych przez wszystkich użytkowników

10

Z którego dziennika mogę uzyskać szczegółowe informacje na temat poleceń sudo wykonywanych przez dowolnego użytkownika. Powinien zawierać katalog roboczy, polecenie, użytkownika. Pomocne będzie podanie skryptu powłoki

Rakesh R Nair
źródło

Odpowiedzi:

23

W zależności od twojej dystrybucji; po prostu:

$ sudo grep sudo /var/log/secure

lub

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

co daje:

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

Użytkownik uruchamiający polecenie jest po sudo:- garethw tym przypadku.

PWD to katalog.

USERto użytkownik garethdziałający jako - rootw tym przykładzie.

COMMAND polecenie zostało wykonane.

Dlatego w powyższym przykładzie garethużyto sudodo uruchomienia, yum updatea następnie uruchomiono ten przykład. Wcześniej wpisał nieprawidłowe hasło.

W nowszych systemach:

$ sudo journalctl _COMM=sudo

daje bardzo podobny wynik.

garethTheRed
źródło
0

„Filtr wyników” dla rozwiązania Garetha. (dla tych, którzy dotarli według tytułu postu, a nie opisu)

Daje ci czystą listę tylko poleceń, uruchomioną jako sudo, przez wszystkich użytkowników.

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

Obejście problemu, jeśli sed jest niedostępny

$sudo journalctl _COMM=sudo | grep COMMAND

Wyniki C&P w arkuszach Google

W komórce B1 C&P ta formuła

=arrayformula(REGEXREPLACE(A1:A,".*AND=/usr/bin/(.*)","$1"))
GreenEyedGus
źródło