Diese kurze Anleitung erläutert, wie Sie die Standard-Sudo-Protokolldatei in Linux-Distributionen wie Debian, Ubuntu, CentOS, Fedora und openSUSE ändern.
Warum sollten wir die Standard-Sudo-Protokolldatei ändern? Sie fragen sich vielleicht. Standardmäßig werden alle sudo-Vorfälle in /var/log/auth.log protokolliert Datei in Debian-basierten Systemen wie Ubuntu. In RPM-basierten Systemen wie CentOS und Fedora werden die sudo-Aktivitäten in /var/log/secure/ gespeichert Datei. In openSUSE werden die sudo-Protokolle in /var/log/messages gespeichert Datei. Sie sind jedoch nicht für Sudo-Protokolle bestimmt. Wenn Sie sich diese Dateien ansehen, werden Sie feststellen, dass dort auch andere Arten von Protokollen wie cron, ssh, systemd usw. gespeichert sind. Wenn Sie also eine dedizierte Datei zum Protokollieren sowohl erfolgreicher als auch erfolgloser Sudo-Versuche (sowie Fehler) einrichten möchten, befolgen Sie die unten angegebenen Schritte.
Standard-Sudo-Protokolldatei in Linux ändern
Standardmäßig protokolliert sudo über syslog , aber dies kann über "/etc/sudoers" geändert werden Datei. Zuerst werden wir sehen, wie man es in Debian-basierten Systemen macht.
1. So ändern Sie die Standard-Sudo-Protokolldatei in Ubuntu
In Ubuntu werden die Sudo-Aktivitäten in /var/log/auth.log gespeichert Datei.
Um eine dedizierte Protokolldatei für sudo in Ubuntu 20.04 zu ändern oder festzulegen, bearbeiten Sie die Datei „/etc/sudoers“ mit dem Befehl:
$ sudo visudo
Fügen Sie am Ende die folgende Zeile hinzu:
Standard syslog=local1
Legen Sie den Speicherort der Sudo-Protokolldatei in Debian, Ubuntu
festDrücken Sie STRG+X gefolgt von Y um die Datei zu speichern und zu beenden.
Bearbeiten Sie als Nächstes die Datei „/etc/rsyslog.d/50-default.conf“:
$ sudo nano /etc/rsyslog.d/50-default.conf
Fügen Sie die folgende rot markierte Zeile (Zeile Nummer 8) vor der Zeile "auth,authpriv.*" hinzu.
[...]local1.* /var/log/sudo.log auth,authpriv.* /var/log/auth.log[...]
Ändern Sie den Speicherort der Sudo-Protokolldatei in Debian, Ubuntu
Hier, /var/log/sudo.log ist die Datei, in der alle sudo-Protokolle gespeichert werden. Speichern und schließen Sie die Datei (STRG+X und Y).
Starten Sie abschließend den rsyslog-Dienst neu, um die Änderungen zu übernehmen:
$ sudo systemctl restart rsyslog
Von nun an werden alle Sudo-Versuche in /var/log/sudo.log protokolliert Datei. Zum Beispiel werde ich den folgenden Befehl ausführen:
$ sudo apt update
Lassen Sie mich nun überprüfen, ob es in der Datei /var/log/sudo.log protokolliert wird:
$ cat /var/log/sudo.log
Beispielausgabe:
2. Mai 12:14:18 ostechnix sudo:sk :TTY=pts/0; PWD=/home/sk; BENUTZER=root; COMMAND=/usr/bin/apt update
Sehen Sie die letzte Zeile in der obigen Ausgabe? Der Befehl „apt update“ wird in der Datei /var/log/sudo.log protokolliert.
2. So ändern Sie die Standard-Sudo-Protokolldatei in Debian
Bearbeiten Sie die Datei „/etc/sudoers“ in Debian mit dem Befehl:
$ sudo visudo
Fügen Sie am Ende die folgende Zeile hinzu:
Standard syslog=local1
Speichern und schließen Sie die Datei.
Bearbeiten Sie als Nächstes die Datei „/etc/rsyslog.conf“:
$ sudo nano /etc/rsyslog.conf
Fügen Sie vor der Zeile "auth,authpriv.*;local1.none" die folgende rot markierte Zeile (Zeile Nummer 61) hinzu.
[...]local1.* /var/log/sudo.log auth,authpriv.*;local1.none /var/log/auth.log[...]
Speichern und schließen Sie die Datei, indem Sie STRG+X gefolgt von Y drücken.
Starten Sie den rsyslog-Dienst neu, um die Änderungen zu übernehmen:
$ sudo systemctl restart rsyslog
Von nun an werden alle Sudo-Versuche in /var/log/sudo.log protokolliert Datei.
3. So ändern Sie die Standard-Sudo-Protokolldatei in CentOS, Fedora
Die sudo-Protokolle werden in RPM-basierten Systemen wie CentOS und Fedora in der Datei „/var/log/secure“ gespeichert.
Um eine dedizierte sudo-Protokolldatei in CentOS 8 festzulegen, bearbeiten Sie die Datei „/etc/sudoers“ mit folgendem Befehl:
$ sudo visudo
Dieser Befehl öffnet die Datei /etc/sudoers im Vi-Editor. Drücken Sie "i", um in den Einfügemodus zu gelangen, und fügen Sie am Ende die folgende Zeile hinzu:
[...]Standardwerte syslog=local1
Drücken Sie ESC und geben Sie :wq ein zum Speichern und Schließen.
Bearbeiten Sie als Nächstes die Datei „/etc/rsyslog.conf“:
$ sudo nano /etc/rsyslog.conf
Fügen Sie die folgenden Zeilen hinzu/ändern Sie sie (Zeilennummer 46 und 47):
[...]*.info;mail.none;authpriv.none;cron.none;local1.none /var/log/messageslocal1.* /var/log/sudo.log[...]Speicherort der Sudo-Protokolldatei in CentOS ändern
Drücken Sie STRG+X gefolgt von Y, um die Datei zu speichern und zu schließen.
Starten Sie rsyslog neu, um die Änderungen zu übernehmen.
$ sudo systemctl restart rsyslogVon nun an werden alle Sudo-Versuche in /var/log/sudo.log protokolliert Datei.
$ sudo cat /var/log/sudo.logBeispielausgabe:
Mai 3 17:13:26 centos8 sudo[20191]:ostechnix :TTY=pts/0; PWD=/home/ostechnix; BENUTZER=root; COMMAND=/bin/systemctl restart rsyslogMay 3 17:13:35 centos8 sudo[20202]:ostechnix :TTY=pts/0; PWD=/home/ostechnix; BENUTZER=root; COMMAND=/bin/systemctl status rsyslogMay 3 17:13:51 centos8 sudo[20206]:ostechnix :TTY=pts/0; PWD=/home/ostechnix; BENUTZER=root; COMMAND=/bin/yum updateZeigen Sie sudo-Protokolldateien in CentOS an
4. So ändern Sie die Standard-Sudo-Protokolldatei in openSUSE
Die sudo-Protokolle werden in SUSE und openSUSE in der Datei „/var/log/messages“ gespeichert.
Um eine dedizierte sudo-Protokolldatei in openSUSE einzurichten, bearbeiten Sie die Datei „/etc/sudoers“ mit folgendem Befehl:
$ sudo visudoDieser Befehl öffnet die Datei /etc/sudoers im Vi-Editor. Drücken Sie "i", um in den Einfügemodus zu gelangen, und fügen Sie am Ende die folgende Zeile hinzu:
[...]Standardwerte syslog=local1Drücken Sie ESC und geben Sie :wq ein zum Speichern und Schließen.
Bearbeiten Sie als Nächstes die Datei „/etc/rsyslog.conf“:
$ sudo nano /etc/rsyslog.confFügen Sie die folgenden Zeilen hinzu/ändern Sie sie (Zeilennummer 168, 180):
# Fügen Sie die folgende Zeile in Zeile 168 hinzu:*.*;mail.none;news.none;local1.none -/var/log/messages# Zeile 180:remove [local1]local0.* -/var/ log/localmessages# Fügen Sie diese Zeile am Ende hinzu:local1.* -/var/log/sudo.logSpeichern und schließen Sie die Datei. Starten Sie rsyslog neu, um die Änderungen zu übernehmen:
$ sudo systemctl restart rsyslogEmpfohlene Lektüre:
- So ändern Sie das Sudo-Passwort-Timeout in Linux
- So fügen Sie Benutzern in Linux Sudo-Berechtigungen hinzu, löschen und gewähren sie
- So stellen Sie Sudo-Berechtigungen für einen Benutzer wieder her
- So finden Sie alle Sudo-Benutzer in Ihrem Linux-System
- So führen Sie bestimmte Befehle ohne Sudo-Passwort in Linux aus
Hoffe das hilft.