Wie können Sie jeden Befehl protokollieren, den jemand in die Shell eingegeben hat?
Ich frage Sie, ob Sie auf dem Server eines anderen angemeldet sind und etwas kaputt geht oder ob jemand anderes (absichtlich oder böswillig) auf Ihrem Server angemeldet ist.
Sogar ein Anfänger kann Bypass Geschichte mit unset history
oder eine neue Shell erstellen , um ihre Spuren zu verbergen.
Ich bin gespannt, wie die älteren Linux-Administratoren verfolgen, welche Befehle eingegeben wurden bzw. welche Änderungen am System vorgenommen wurden.
quelle
execve
ist dies nicht der einzige Systemanruf, den Sie protokollieren müssen. Warum nichtexecvp
auch? Oderexecl
? usw.exec
dazu steht: "Dieexec()
Funktionsfamilie ersetzt das aktuelle Prozessabbild durch ein neues Prozessabbild. Die in dieser Handbuchseite beschriebenen Funktionen sind Frontends fürexecve(2)
." Obwohl ich mir nicht sicherexecveat
bin, kann ich mich in Bezug auf dieexec
Familie sicher fühlen .Sie können den Skriptbefehl verwenden . Dieser Befehl ist in POSIX nicht enthalten, aber Sie werden es nützlich finden, alle Tastenanschläge sowie Ausgabe- und Fehlermeldungen in einer Datei zu speichern. Sie können die Datei später anzeigen. Wenn Sie wichtige Arbeiten ausführen und ein Protokoll aller Ihrer Aktivitäten führen möchten, sollten Sie diesen Befehl sofort nach dem Anmelden aufrufen:
$ script
Skript gestartet, Datei ist Typenskript
$ _ Beachten Sie, dass dies eine andere Shell ist - Kind der Login-Shell
Die Eingabeaufforderung kehrt zurück und alle Ihre Tastatureingaben (einschließlich derjenigen, die für die Rücktaste verwendet wurde), die Sie jetzt hier eingeben, werden in der Datei 'typescript' aufgezeichnet. Nachdem Ihre Aufnahme beendet ist, können Sie die Sitzung beenden, indem Sie exit eingeben .
Hinweis: Wenn Sie den Dateinamen des Skripts eingeben , wird die Sitzung in der Datei Dateiname statt in Typenskript gespeichert. Das heißt, Typenskript ist die Standardeinstellung, wenn kein bestimmter Dateiname angegeben ist.
Sie können jetzt den Katzendateinamen oder das Katzentypenskript verwenden, um die aufgezeichnete Sitzung anzuzeigen.
Wenn Sie eine neue Sitzung an eine alte Datei anhängen möchten, verwenden Sie: script -a Hängt die neue Sitzung an typescript an, gilt dieselbe Standardregel auch hier
Auf diese Weise kann ein Systemadministrator die Sitzungen verfolgen. Hoffe, es war informativ und nützlich. Prost!
quelle