
Ich möchte in Debian nicht alle Protokolle deaktivieren, sondern nur diejenigen, die aufzeichnen, wann und wie lange sich der Root angemeldet hat.
Wenn ich last
im Terminal einen Befehl eingebe, erhalte ich meine IP-Adresse usw. Ich möchte dies deaktivieren.
wenn ich gehe /var/log
,btmpDatei ist leer, es gibt nur ein quadratisches Zeichen, wie ein unbekanntes Zeichen,wtmpist das gleiche. Ich habe den Inhalt von gelöscht auth.log
.
Wie kann ich diese Art von Protokoll deaktivieren?
Antwort1
Filtern der Protokolle
Ich glaube, Sie können einige der Protokolle mithilfe eines Filters in verwalten rsyslog
. Insbesondere müssen Sie einer Konfigurationsdatei unter einen Filter hinzufügen /etc/rsyslog.d/
.
Für Meldungen wie diese /var/log/secure
(beispielsweise unter Fedora 19):
Jun 28 13:28:18 greeneggs login: pam_unix(login:session): session opened for user saml by LOGIN(uid=0)
Jun 28 13:28:19 greeneggs login: LOGIN ON tty2 BY saml
Um sie auszuschließen, können Sie einen Filter wie diesen verwenden:
wenn $syslogfacility-text == 'local0' und $msg mit 'login' beginnt und ($msg 'root' enthält), dann /dev/null
NOTIZ:Das Obige ist ungetestet, sondern nur ein Beispiel, um zu zeigen, wie Sie dies ungefähr angehen könnten.
Filtern von wtmp und btmp
Diese Dateien sind Binärdateien und können daher nicht einfach mit Standardtools wie sed
und bearbeitet werden awk
. Wenn Sie sie wirklich bearbeiten möchten, müssen Sie sie cron
regelmäßig bearbeiten. Ich konnte keine Methode finden, um Benutzer herauszufiltern, damit sie bei der Anmeldung nicht zu einer der Dateien hinzugefügt werden.
Auszug aus demUtmp Wikipedia-Seite
utmp, wtmp und btmp
- utmpführt eine vollständige Abrechnung des aktuellen Systemstatus, der Systemstartzeit (verwendet von der Betriebszeit), zeichnet Benutzeranmeldungen an welchen Terminals, Abmeldungen, Systemereignisse usw. auf.
- wtmpfungiert als historischer UTMP
- btmpzeichnet fehlgeschlagene Anmeldeversuche auf
Die
utmp
Datei ist keine Textdatei, sondern ein Binärformat, das mit speziell entwickelten Programmen bearbeitet werden muss. Die Implementierung und die in der Datei vorhandenen Felder unterscheiden sich je nach System oder libc-Version und sind in derutmp.h
Header-Datei definiert.Das Format
wtmp
undbtmp
sind genau gleichutmp
, außer dass ein leerer Benutzername eine Abmeldung am zugehörigen Terminal anzeigt. Darüber hinaus zeigt der Terminalname ~ mit dem Benutzernamen shutdown oder reboot ein Herunterfahren oder Neustarten des Systems an und das Paar Terminalnamen / protokolliert die alte/neue Systemzeit, wenn das Datum sie ändert.
Zur Erweiterung dieser Dateien können Sie das Perl-Modul verwenden,Benutzer::Utmpum diese Dateien zu ändern. Python hat auch ein ähnliches Modul.