GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie protokollieren Sie jeden eingegebenen Befehl?

Wie können Sie jeden Befehl protokollieren, den jemand in die Shell eingegeben hat?

Ich frage sowohl auf der Grundlage Ihres eigenen Schutzes, wenn Sie bei einem fremden Server angemeldet sind und etwas kaputt geht, oder wenn jemand anderes bei Ihrem Server angemeldet ist (entweder absichtlich oder böswillig).

Selbst ein Anfänger kann den Verlauf mit unset history umgehen oder erstellen Sie eine neue Hülle, um ihre Spuren zu verstecken.

Ich bin neugierig, wie die leitenden Linux-Administratoren nachverfolgen, welche Befehle eingegeben / Änderungen am System vorgenommen wurden.

Akzeptierte Antwort:

Überprüfen Sie auditd. Wenn Sie hinzufügen

-a exit,always -F arch=b64 -S execve
-a exit,always -F arch=b32 -S execve

nach /etc/audit/audit.rules Alle ausgeführten Befehle werden protokolliert. Siehe:http://whmcr.com/2011/10/14/auditd-logging-all-commands/

Senden Sie es dann an einen Syslog-Server.


Linux
  1. Wie übergibt man ein Befehlszeilenargument an ein Shell-Skript?

  2. Linux – Wie bootet man Puppy Linux Slacko in die Kommandozeile?

  3. Wie protokolliere ich jeden in Bash eingegebenen Befehl und jede Dateioperation?

  4. Wie kann ich die MySQL-Datenbank mit dem Befehl in SSH wiederherstellen?

  5. So protokollieren Sie jeden Shell-Befehl in Linux

So führen Sie einen Linux-Befehl für immer alle X Sekunden aus oder wiederholen ihn

So verwenden Sie den Linux-Zeitbefehl:Alles, was Sie wissen müssen

So booten Sie in die Linux-Befehlszeile

So führen Sie für immer alle X Sekunden einen Linux-Befehl aus

So zeichnen Sie alles auf, was Sie im Terminal tun

So melden Sie sich in Plesk bei Webmail an