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

Hoe de opdrachtgeschiedenis van een andere gebruiker in Linux bekijken?

Hoe kan ik de opdrachtgeschiedenis van een andere gebruiker bekijken?

Ik ben een admin op mijn machine. Ik kan de normale geschiedenis zien door /home/user_name/.bash_history te bekijken, maar ik kan geen commando’s van die user_name zien als ze sudo aan het doen waren.

Is er een manier om alle commando’s te zien die door een gebruiker zijn uitgevoerd?

Antwoorden (6)

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

Op Debian-gebaseerde besturingssystemen, zou het uitvoeren vantail /var/log/auth.log | grep username u de sudo geschiedenis van een gebruiker moeten geven. Ik geloof niet dat er een manier is om een geünificeerde commando geschiedenis te krijgen van de normale + sudo commando’s van een gebruiker.

Op RHEL-gebaseerde besturingssystemen, zou je /var/log/secure moeten controleren in plaats van /var/log/auth.log.

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

Ik heb net het volgende getest, en het werkte als een charme.

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

Als de gebruiker een commando gaf zoals in sudo somecommand, dan zal het commando in het systeemlog verschijnen.

Als de gebruiker een shell spawnde met b.v., sudo -s, sudo su, sudo sh, etc, dan kan het commando misschien in de geschiedenis van de root gebruiker verschijnen, dat wil zeggen, in /root/.bash_history of iets dergelijks.

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

gebruik onderstaand commando

sysdig -c spy_users

indien sysdig niet geinstalleerd , installeer hier

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

# zless /var/log/auth* is je vriend hier. Het opent zelfs de gzipped bestanden. Je kunt daartussen springen met :n vooruit of :p achteruit.

Als alternatief kun je bijvoorbeeld ook # journalctl -f -l SYSLOG_FACILITY=10 gebruiken. Lees hier meer over op de Arch Linux wiki

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

De logica geldt voor veel andere doelen.
En hoe lees je .sh_history van elke gebruiker uit /home/ bestandssysteem? Wat als het er duizenden zijn?

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

Hier is het script.