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
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:
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.
USER
bu ö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 gareth
kullanılır . Bundan önce yanlış şifreyi yazdı.sudo
yum update
Daha yeni sistemlerde:
$ sudo journalctl _COMM=sudo
çok benzer bir çıktı verir.
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"))