Tento stručný průvodce vysvětluje, jak změnit výchozí soubor protokolu sudo v distribucích Linuxu, jako je Debian, Ubuntu, CentOS, Fedora a openSUSE.
Proč bychom měli změnit výchozí soubor protokolu sudo? Možná se divíte. Ve výchozím nastavení budou všechny incidenty sudo protokolovány do /var/log/auth.log soubor v systémech založených na Debianu, jako je Ubuntu. V systémech založených na RPM, jako je CentOS a Fedora, jsou aktivity sudo uloženy v /var/log/secure/ soubor. V openSUSE jsou sudo logy uloženy v /var/log/messages soubor. Nejsou však věnovány sudo logům. Pokud se podíváte do těchto souborů, všimnete si, že jsou v nich uloženy i jiné druhy protokolů, jako je cron, ssh, systemd atd. Pokud tedy chcete nastavit vyhrazený soubor pro protokolování úspěšných i neúspěšných pokusů sudo (a také chyb), postupujte podle níže uvedených kroků.
Změnit výchozí soubor protokolu sudo v Linuxu
Ve výchozím nastavení se sudo přihlásí přes syslog , ale to lze změnit pomocí "/etc/sudoers" soubor. Nejprve uvidíme, jak to udělat v systémech založených na Debianu.
1. Jak změnit výchozí soubor protokolu sudo v Ubuntu
V Ubuntu jsou sudo aktivity uloženy v /var/log/auth.log soubor.
Chcete-li změnit nebo nastavit vyhrazený soubor protokolu pro sudo v Ubuntu 20.04, upravte soubor "/etc/sudoers" pomocí příkazu:
$ sudo visudo
Na konec přidejte následující řádek:
Výchozí syslog=local1
Nastavte umístění souboru protokolu Sudo v Debianu, Ubuntu
Stiskněte CTRL+X následuje Y pro uložení a ukončení souboru.
Dále upravte soubor "/etc/rsyslog.d/50-default.conf":
$ sudo nano /etc/rsyslog.d/50-default.conf
Přidejte následující řádek (řádek číslo 8) označený červenou barvou před řádek „auth,authpriv.*“.
[...]local1.* /var/log/sudo.log auth,authpriv.* /var/log/auth.log[...]
Změňte umístění souboru protokolu Sudo v Debianu, Ubuntu
Zde /var/log/sudo.log je soubor, kam se budou ukládat všechny sudo logy. Uložte a zavřete soubor (CTRL+X a Y).
Nakonec restartujte službu rsyslog, aby se změny projevily:
$ sudo systemctl restart rsyslog
Od této chvíle budou všechny pokusy o sudo zaznamenány v /var/log/sudo.log soubor. Například spustím následující příkaz:
Aktualizace $ sudo apt
Nyní mi dovolte ověřit, zda se přihlásí do souboru /var/log/sudo.log:
$ cat /var/log/sudo.log
Ukázkový výstup:
2. května 12:14:18 ostechnix sudo:sk :TTY=pts/0; PWD=/domov/sk; USER=root; COMMAND=/usr/bin/apt update
Viz poslední řádek ve výše uvedeném výstupu? Příkaz "apt update" je přihlášen do souboru /var/log/sudo.log.
2. Jak změnit výchozí soubor protokolu sudo v Debianu
Upravte soubor "/etc/sudoers" v Debianu pomocí příkazu:
$ sudo visudo
Na konec přidejte následující řádek:
Výchozí syslog=local1
Uložte a zavřete soubor.
Dále upravte soubor "/etc/rsyslog.conf":
$ sudo nano /etc/rsyslog.conf
Přidejte následující řádek (řádek číslo 61) označený červenou barvou před řádek „auth,authpriv.*;local1.none“.
[...]local1.* /var/log/sudo.log auth,authpriv.*;local1.none /var/log/auth.log[...]
Uložte a zavřete soubor stisknutím CTRL+X a následně Y.
Restartujte službu rsyslog, aby se změny projevily:
$ sudo systemctl restart rsyslog
Od této chvíle budou všechny pokusy o sudo zaznamenány v /var/log/sudo.log soubor.
3. Jak změnit výchozí soubor protokolu sudo v CentOS, Fedora
Protokoly sudo jsou uchovávány v souboru "/var/log/secure" v systémech založených na RPM, jako je CentOS a Fedora.
Chcete-li nastavit vyhrazený soubor protokolu sudo v CentOS 8, upravte soubor "/etc/sudoers" pomocí příkazu:
$ sudo visudo
Tento příkaz otevře soubor /etc/sudoers v editoru Vi. Stiskněte "i" pro vstup do režimu vkládání a na konec přidejte následující řádek:
[...]Výchozí syslog=local1
Stiskněte ESC a zadejte :wq uložit a zavřít.
Dále upravte soubor "/etc/rsyslog.conf":
$ sudo nano /etc/rsyslog.conf
Přidejte/upravte následující řádky (řádek číslo 46 a 47):
[...]*.info;mail.none;authpriv.none;cron.none;local1.none /var/log/messageslocal1.* /var/log/sudo.log[...]Změňte umístění souboru protokolu Sudo v CentOS
Stiskněte CTRL+X a následně Y pro uložení a zavření souboru.
Restartujte rsyslog, aby se změny projevily.
$ sudo systemctl restart rsyslogOd této chvíle budou všechny pokusy o sudo zaznamenány v /var/log/sudo.log soubor.
$ sudo cat /var/log/sudo.logUkázkový výstup:
3. května 17:13:26 centos8 sudo[20191]:ostechnix :TTY=pts/0; PWD=/home/ostechnix; USER=root; COMMAND=/bin/systemctl restart rsyslogMay 3 17:13:35 centos8 sudo[20202]:ostechnix :TTY=pts/0; PWD=/home/ostechnix; USER=root; COMMAND=/bin/systemctl status rsyslogMay 3 17:13:51 centos8 sudo[20206]:ostechnix :TTY=pts/0; PWD=/home/ostechnix; USER=root; COMMAND=/bin/yum updateZobrazení souborů protokolu sudo v CentOS
4. Jak změnit výchozí soubor protokolu sudo v openSUSE
Protokoly sudo jsou uloženy v souboru "/var/log/messages" v SUSE a openSUSE.
Chcete-li nastavit vyhrazený soubor protokolu sudo v openSUSE, upravte soubor "/etc/sudoers" pomocí příkazu:
$ sudo visudoTento příkaz otevře soubor /etc/sudoers v editoru Vi. Stiskněte "i" pro vstup do režimu vkládání a na konec přidejte následující řádek:
[...]Výchozí syslog=local1Stiskněte ESC a zadejte :wq uložit a zavřít.
Dále upravte soubor "/etc/rsyslog.conf":
$ sudo nano /etc/rsyslog.confPřidejte/upravte následující řádky (řádek číslo 168, 180):
# Přidejte následující řádek na řádek číslo 168:*.*;mail.none;news.none;local1.none -/var/log/messages# řádek 180:odstranit [local1]local0.* -/var/ log/localmessages# Přidejte tento řádek na konec:local1.* -/var/log/sudo.logUložte a zavřete soubor. Restartujte rsyslog, aby se změny projevily:
$ sudo systemctl restart rsyslogDoporučené čtení:
- Jak změnit časový limit hesla Sudo v systému Linux
- Jak přidat, odstranit a udělit uživatelům v Linuxu oprávnění sudo
- Jak obnovit oprávnění uživatele Sudo
- Jak najít všechny uživatele Sudo ve vašem systému Linux
- Jak spouštět konkrétní příkazy bez hesla Sudo v systému Linux
Doufám, že to pomůže.