如何在Linux系统中修改默认的Sudo日志文件
本文将介绍如何在Linux系统的服务器中更改默认的sudo日志文件。默认情况下,所有的sudo事件都会被记录在/var/log/auth.log文件中,在基于Debian的系统(如Ubuntu)中,以及在基于 RPM 的系统(如 CentOS 和 Fedora)中,sudo日志被存储在 /var/log/secure/文件中。在openSUSE系统中,sudo日志存储在/var/log/messages文件中。但是,它们并不是专门用于sudo日志。如果你研究这些文件,你会发现还有其他类型的日志,如cron、ssh、systemd等,也存储在其中。如果你想要一个专门的设置文件来记录成功和不成功的sudo尝试(以及错误),请按照下面的步骤进行。
默认情况下,sudo将通过syslog进行记录,但是可以通过“ / etc / sudoers”文件进行更改。首先,我们将了解如何在基于Debian的系统中做到这一点。
一、如何在Ubuntu中更改默认的Sudo日志文件
在Ubuntu中,sudo活动存储在/var/log/auth.log文件中。
要在Ubuntu 20.04中更改或设置sudo的专用日志文件,请使用以下命令编辑“ / etc / sudoers”文件:
$ sudo visudo
在末尾添加以下行:
Defaults syslog=local1
按CTRL + X,然后按Y保存并退出文件。
接下来,编辑“ /etc/rsyslog.d/50-default.conf”文件:
$ sudo nano /etc/rsyslog.d/50-default.conf
在“auth,authpriv.*”行之前添加以红色标记的以下行(第8行)。
[...]
local1.* /var/log/sudo.log
auth,authpriv.* /var/log/auth.log
[...]
在这里,/ var/ log/sudo.log是将要存储所有sudo日志的文件。保存并关闭文件(CTRL + X和Y)。
最后,重新启动rsyslog服务以使更改生效:
$ sudo systemctl restart rsyslog
从现在开始,所有sudo尝试都将记录在/var/log/sudo.log文件中。例如,我将运行以下命令:
$ sudo apt update
现在让我验证它是否已记录在/var/log/sudo.log文件中:
$ cat /var/log/sudo.log
二、如何在Debian中更改默认的Sudo日志文件
使用以下命令在Debian中编辑“ / etc / sudoers”文件:
$ sudo visudo
在末尾添加以下行:
Defaults syslog=local1
保存并关闭文件。
接下来,编辑“ /etc/rsyslog.conf”文件:
$ sudo nano /etc/rsyslog.conf
在“ auth,authpriv.*; local1.none”行之前添加以红色标记的以下行(行号61)。
[...]
local1.* /var/log/sudo.log
auth,authpriv.*;local1.none /var/log/auth.log
[...]
通过按CTRL + X,然后按Y,保存并关闭文件。
重新启动rsyslog服务以使更改生效:
$ sudo systemctl restart rsyslog
从现在开始,所有sudo尝试都将记录在/var/log/sudo.log文件中。
三、如何在CentOS,Fedora中更改默认的Sudo日志文件
sudo日志保存在基于RPM的系统(例如CentOS和Fedora)中的“ / var / log / secure”文件中。
要在CentOS 8中设置专用的sudo日志文件,请使用以下命令编辑“ / etc / sudoers”文件:
$ sudo visudo
该命令将在Vi编辑器中打开/ etc / sudoers文件。按“ i”进入插入模式并在末尾添加以下行:
[...]
Defaults syslog=local1
按ESC,然后输入:wq保存并关闭。
接下来,编辑“ /etc/rsyslog.conf”文件:
$ sudo nano /etc/rsyslog.conf
添加/修改以下行(行号46和47):
[...]
*.info;mail.none;authpriv.none;cron.none;local1.none /var/log/messages
local1.* /var/log/sudo.log
[...]
按CTRL + X,再按Y,以保存并关闭文件。
重新启动rsyslog以使更改生效。
$ sudo systemctl restart rsyslog
从现在开始,所有sudo尝试都将记录在/var/log/sudo.log文件中。
$ sudo cat /var/log/sudo.log
四、如何在openSUSE中更改默认的Sudo日志文件
sudo日志保存在SUSE和openSUSE的“ / var / log / messages”文件中。
要在openSUSE中设置专用的sudo日志文件,请使用以下命令编辑“ / etc / sudoers”文件:
$ sudo visudo
该命令将在Vi编辑器中打开/ etc / sudoers文件。按“i”进入插入模式并在末尾添加以下行:
[...]
Defaults syslog=local1
按ESC,然后输入:wq保存并关闭。
接下来,编辑“ /etc/rsyslog.conf”文件:
$ sudo nano /etc/rsyslog.conf
添加/修改以下行(行号168、180):
# Add the following line at line number 168:
*.*;mail.none;news.none;local1.none -/var/log/messages
# line 180: remove [local1]
local0.* -/var/log/localmessages
# Add this line at the end:
local1.* -/var/log/sudo.log
保存并关闭文件。重新启动rsyslog以使更改生效:
$ sudo systemctl restart rsyslog