Tüm kullanıcı tarafından yürütülen sudo komutları hakkında ayrıntılar


10

Hangi günlükten herhangi bir kullanıcı tarafından yürütülen sudo komutları hakkında bilgi alabilirim. Çalışma dizinini, komutu, kullanıcıyı içermelidir. Bunu yapmak için bana bir kabuk betiği sağlayabilirseniz yardımcı olacaktır

Yanıtlar:


23

Dağıtımınıza bağlı olarak; basitçe:

$ sudo grep sudo /var/log/secure

veya

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

hangi verir:

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

Komutu çalıştıran kullanıcı bu durumda sudo:- işaretinden sonradır gareth.

PWD dizindir.

USERbu örnekte gareth- olarak çalışan kullanıcıdır root.

COMMAND komut çalıştırıldı.

Bu nedenle, yukarıdaki örnekte, bu örneği çalıştırmak ve daha sonra çalıştırmak için garethkullanılır . Bundan önce yanlış şifreyi yazdı.sudoyum update

Daha yeni sistemlerde:

$ sudo journalctl _COMM=sudo

çok benzer bir çıktı verir.


0

Gareth çözeltisi için bir "sonuç filtresi". (gönderi başlığına göre gelenler, açıklama değil)

Tüm kullanıcılar tarafından sudo olarak çalıştırılan temiz komutların yalnızca temiz bir listesini verir.

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

Sed kullanılamıyorsa geçici çözüm

$sudo journalctl _COMM=sudo | grep COMMAND

Google sayfalarına C&P sonuçları

B1 C&P hücresinde bu formül

=arrayformula(REGEXREPLACE(A1:A,".*AND=/usr/bin/(.*)","$1"))
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.