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.