Come visualizzare la cronologia dei comandi di un altro utente in Linux?


30

Come posso visualizzare la cronologia dei comandi di un altro utente?

Sono un amministratore sulla mia macchina. Riesco a vedere la cronologia normale visualizzando /home/user_name/.bash_historyma non riesco a vedere i comandi di quello user_namementre stavano facendo sudo.

C'è un modo per visualizzare tutti i comandi eseguiti da un utente?


1
Ruba la sua password :) o tramite il social engineering. Se non sei root, e il tuo account è impostato in modo da non poter andare / leggere la home / i file di altri utenti sei praticamente limitato.
portatore dell'anello

8
"Sono un amministratore sulla mia macchina."

Risposte:


23

Sui sistemi operativi basati su Debian, fare tail /var/log/auth.log | grep username dovrebbe darti la sudocronologia di un utente . Non credo che ci sia un modo per ottenere una cronologia dei comandi unificata dei normali comandi + sudo di un utente.

Sui sistemi operativi basati su RHEL, è necessario controllare /var/log/secureinvece di /var/log/auth.log.


Qualche idea di cosa sarebbe su un sistema centos? Le mie macchine Centos 7 non hanno/var/log/auth.log
Mitch

3
Prova /var/log/secureinvece.
Kerin,

Funziona perfettamente! Inserisci una richiesta di modifica nella risposta
Mitch,

4

Ho appena testato quanto segue e ha funzionato come un fascino.

sudo vim /home/USER_YOU_WANT_TO_VIEW/.bash_history

1
È già a conoscenza di questo comando. Dalla domanda originale: "Riesco a vedere la cronologia normale visualizzando /home/user_name/.bash_history ma non riesco a vedere i comandi di quel" nome_utente "quando facevano sudo."
Michael Thompson,

2

Se l'utente ha emesso un comando come in sudo somecommand, il comando verrà visualizzato nel registro di sistema.

Se l'utente ha generato un guscio con es, sudo -s, sudo su, sudo sh, ecc, allora il comando può apparire nella storia dell'utente root, cioè, in /root/.bash_historyo simile.


1
Dov'è il registro di sistema?
Garrett,

1

# zless /var/log/auth*è il tuo amico qui. Apre anche i file compressi con gzip. Puoi saltare tra quelli con :navanti o :pindietro.

In alternativa, puoi usare # journalctl -f -l SYSLOG_FACILITY=10ad esempio. Maggiori informazioni su questo nel wiki di Arch Linux


1

usa il comando sotto

sysdig -c spy_users

se sysdig non è installato , installare qui


0

Forse questo link ha un valore per te: http://www.sudo.ws/pipermail/sudo-users/2000-March/000052.html

Ma dovresti pensare che non lasciare traccia in bash_history è solo questione di avviare un comando con uno spazio ecc. La storia è un aiuto, non uno strumento di registrazione.

Saluti dalla Germania, Daniel Leschkowski


-1

La logica si applica a molti altri obiettivi.
E come leggere .sh_history di ogni utente da / home / filesystem? E se ce ne fossero migliaia?

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

Ecco la sceneggiatura.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.