Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So verwenden Sie die historische Befehlsaufzeichnungsfunktion der Linux-Shell

So verwenden Sie die historische Befehlsaufzeichnungsfunktion der Linux-Shell

WBOY
WBOYnach vorne
2023-05-12 13:19:181714Durchsuche

Unter Linux können Sie den Befehl „history“ verwenden, um alle historischen Vorgänge des Benutzers anzuzeigen. Gleichzeitig werden die Operationsdatensätze des Shell-Befehls standardmäßig in der Datei .bash_history im Benutzerverzeichnis gespeichert. Über diese Datei können Sie den Ausführungsverlauf von Shell-Befehlen abfragen, was dem Betriebs- und Wartungspersonal bei der Durchführung von Systemprüfungen und Fehlerbehebungen hilft. Gleichzeitig können Sie nach einem Hackerangriff auf den Server auch den Verlauf der Befehlsoperationen von Hackern abfragen sich am Server anmelden. Nach dem Eindringen von Hackern löschen sie jedoch die Datei .bash_history, um Spuren zu löschen. Dies erfordert eine angemessene Sicherung dieser Datei.

Der Standard-Verlaufsbefehl kann nur die historischen Vorgangsaufzeichnungen des Benutzers anzeigen, aber nicht den Zeitpunkt unterscheiden, zu dem jeder Benutzer den Befehl ausgeführt hat. Dies ist für die Fehlerbehebung recht unpraktisch. Die Lösung besteht darin, der Datei /etc/bashrc die folgenden vier Zeilen hinzuzufügen, damit der Befehl „history“ die Ausführungszeit aller Shell-Befehle automatisch aufzeichnen kann:

Code kopieren Der Code lautet wie folgt folgt:

#🎜 🎜#histfilesize=4000

histsize=4000
histtimeformat='%f %t'
export histtimeformat

histfilesize bedeutet, dass die Gesamtzahl der Datensätze des Befehls in der .bash_history-Datei gespeichert ist. Der Standardwert ist 1000. histsize definiert die Gesamtzahl der vom Verlaufsbefehl ausgegebenen Datensätze „%f %t““ nach dem Datumsbefehl; histtimeformat wird als Verlauf verwendet. Die Zeitvariable übergibt den Wert an den Verlaufsbefehl.

Erweiterte Tipps

Obwohl das oben genannte Gerät die Zeit aufzeichnen kann, kann es nicht für Prüfzwecke verwendet werden und kann leicht manipuliert werden oder verloren gehen Hacker. Die folgende Methode zeichnet detailliert die Benutzer auf, die sich am System angemeldet haben, IP-Adressen, Shell-Befehle und detaillierte Betriebszeiten. Und speichern Sie diese Informationen in Form von Dateien an einem sicheren Ort für Systemprüfungen und Fehlerbehebung.

Fügen Sie den folgenden Code in die Datei /etc/profile ein, um die oben genannten Funktionen zu erreichen.


Code kopieren Der Code lautet wie folgt:

#Vorgang zum Aufzeichnen des Verlaufs

user_ip=`who -u am i 2>/dev/null |awk ' {print $nf}' |sed -e 's/[()]//g'`
logname=`wer -u bin ich |awk '{print $1}'`
histdir=/ user/share/.history
if [ -z $user_ip]
then
user_ip=`hostname`
fi

if [ ! -d $histdir]

then
mkdir -p $histdir
chmod 777 $histdir
fi

if [ ! -d $histdir/${ logname}]

then
mkdir -p $histdir/${logname}
chmod 300 $histdir/${logname}
fi

export histsize =4000# 🎜🎜#

dt=`Datum +"%y%m%d_%h%m%s"`

export histfile="$histdir/${logname}/${user_ip} .history. $dt"

export histtimeformat="[%y.%m.%d %h:%m:%s]"
chmod 600 $histdir/${logname}/*.history * 2> /dev/null

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die historische Befehlsaufzeichnungsfunktion der Linux-Shell. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen