Jak wyświetlić historię poleceń innego użytkownika w systemie Linux?

30

Jak mogę wyświetlić historię poleceń innego użytkownika?

Jestem administratorem na moim komputerze. Widzę normalną historię, przeglądając, /home/user_name/.bash_historyale nie widzę poleceń, user_namekiedy to robili sudo.

Czy istnieje sposób wyświetlenia wszystkich poleceń wykonanych przez jednego użytkownika?

Sean Nguyen
źródło
1
Kradnij jego hasło :) lub przez socjotechnikę .. Jeśli nie jesteś rootem, a twoje konto jest skonfigurowane w taki sposób, że nie możesz przejść / odczytać domu / plików innego użytkownika, jesteś prawie ograniczony.
okaziciela pierścienia
8
„Jestem administratorem na moim komputerze”.

Odpowiedzi:

23

W systemach operacyjnych opartych na Debianie wykonywanie tail /var/log/auth.log | grep username powinno dać sudohistorię użytkownika . Nie wierzę, że istnieje sposób na uzyskanie zunifikowanej historii poleceń normalnych poleceń + sudo użytkownika.

W systemach operacyjnych opartych na RHEL należy sprawdzić /var/log/securezamiast /var/log/auth.log.

Kerin
źródło
Masz jakieś pojęcie, co by to było w systemie centos? Moje maszyny Centos 7 nie mają/var/log/auth.log
Mitch
3
Spróbuj /var/log/securezamiast tego.
Kerin
Działa świetnie! Wystarczy złożyć wniosek o edycję w odpowiedzi
Mitch
4

Właśnie przetestowałem następujące i działało to jak urok.

sudo vim /home/USER_YOU_WANT_TO_VIEW/.bash_history
Tyson
źródło
1
Jest już świadomy tego polecenia. Z pierwotnego pytania: „Widzę normalną historię, przeglądając /home/user_name/.bash_history, ale nie widzę poleceń tej„ nazwy użytkownika ”, gdy robili sudo.”
Michael Thompson,
2

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

Jeśli użytkownik zrodził skorupę z np sudo -s, sudo su, sudo shitp, a następnie polecenie może pojawić się w historii użytkownika root, który jest w /root/.bash_historylub podobny.

bdonlan
źródło
1
Gdzie jest dziennik systemu?
Garrett
1

# zless /var/log/auth*jest tu twój przyjaciel. Otwiera nawet spakowane pliki. Możesz przeskakiwać między tymi z :nprzodu lub :pdo tyłu.

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

AdamKalisz
źródło
1

użyj poniżej polecenia

sysdig -c spy_users

jeśli sysdig nie jest zainstalowany , zainstaluj tutaj

sachin_ur
źródło
0

Może ten link ma dla Ciebie wartość: http://www.sudo.ws/pipermail/sudo-users/2000-March/000052.html

Ale powinieneś pamiętać, że nie pozostawianie śladu w bash_history to tylko kwestia uruchomienia polecenia ze spacją itp. Historia jest pomocnikiem, a nie narzędziem do rejestrowania.

Pozdrowienia z Niemiec, Daniel Leschkowski


źródło
-1

Logika dotyczy wielu innych celów.
A jak czytać .sh_history każdego użytkownika z / home / fileystem? 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

Oto skrypt.

Igor MV
źródło