帮助中心

立即注册 咨询客服

当前位置:首页 > 帮助中心> 如何在Linux系统中修改默认的Sudo日志文件

如何在Linux系统中修改默认的Sudo日志文件

发布时间:2020年05月05日 10:22:28    来源: A5互联

本文将介绍如何在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