2011-07-11 21:44:59 +0000 2011-07-11 21:44:59 +0000
30
30

Jak przeglądać historię poleceń innego użytkownika w Linuksie?

Jak mogę zobaczyć historię poleceń innego użytkownika?

Jestem administratorem na mojej maszynie. Mogę zobaczyć normalną historię poprzez przeglądanie /home/user_name/.bash_history, ale nie mogę zobaczyć poleceń tego user_name, kiedy wykonywał sudo.

Czy istnieje sposób na wyświetlenie wszystkich komend wykonanych przez jednego użytkownika?

Odpowiedzi (6)

23
23
23
2011-07-11 21:51:46 +0000

W systemach operacyjnych opartych na Debianie, wykonanietail /var/log/auth.log | grep username powinno dać ci historię sudo użytkownika. Nie sądzę, aby istniał sposób na uzyskanie ujednoliconej historii poleceń użytkownika - normalnych + sudo.

W systemach operacyjnych opartych na RHEL, musiałbyś sprawdzić /var/log/secure zamiast /var/log/auth.log.

5
5
5
2015-11-04 21:51:20 +0000

Właśnie przetestowałem następujące rozwiązanie i zadziałało jak urok.

sudo vim /home/USER_YOU_WANT_TO_VIEW/.bash_history
2
2
2
2011-07-11 21:52:18 +0000

Jeśli użytkownik wydał polecenie jak w sudo somecommand, to pojawi się ono w logu systemowym.

Jeśli użytkownik wywołał powłokę z np, sudo -s, sudo su, sudo sh, etc, to polecenie może pojawić się w historii użytkownika root, czyli w /root/.bash_history lub podobnym.

1
1
1
2019-01-16 07:16:45 +0000

użyj poniższej komendy

sysdig -c spy_users

jeśli sysdig nie jest zainstalowany , zainstaluj tutaj

1
1
1
2016-01-03 19:43:19 +0000

# zless /var/log/auth* jest tutaj twoim przyjacielem. Otwiera on nawet pliki gzipowane. Możesz przeskakiwać między nimi za pomocą :n do przodu lub :p do tyłu.

Alternatywnie, możesz użyć # journalctl -f -l SYSLOG_FACILITY=10 na przykład. Przeczytaj więcej na ten temat na Arch Linux wiki

-1
-1
-1
2018-09-30 16:38:21 +0000

Ta logika ma zastosowanie do wielu innych celów.
A jak odczytać .sh_history każdego użytkownika z systemu plików /home/? Co jeśli są ich tysiące?

#!/bin/ksh
last |head -10|awk '{print $1}'|
 while IFS= read -r line
 do
su - "$line" -c 'tail .sh_history'
 done

Tutaj jest skrypt.