如何在Linux中更改默认sudo日志文件
本教程介绍如何在Linux中更改默认sudo日志文件。
默认情况下,所有Sudo事件都将在基于Debian的系统中登录/var/log/auth.log文件,如Ubuntu。
在基于RPM的系统中,如CentOS和Fedora,Sudo活动存储在/var/log/secure /文件中。
在OpenSuse中,Sudo日志存储在/var/log/messages文件中。
但是,它们并不致力于sudo日志。
如果我们查看这些文件,我们会注意到还有其他类型的日志,例如Cron,SSH,Systemd等,也存储其中。
如果我们想要设置的专用文件,用于记录成功和不成功的sudo尝试(以及错误),请按照下面给出的步骤操作。
在Linux中更改默认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
示例输出:
Jan 2 12:14:18 theitroad sudo: sk : TTY=pts/0 ; PWD=/home/sk ; USER=root ; COMMAND=/usr/bin/apt update
查看上面的输出中的最后一行?
"apt更新"命令在/var/log/sudo.log文件中记录。
如何在Debian中更改默认sudo日志文件
使用命令编辑"/etc/sudoers"文件:
$sudo visudo
最后添加以下行:
Defaults syslog=local1
保存并关闭文件。
接下来,编辑"/etc/rsyslog.conf"文件:
$sudo nano /etc/rsyslog.conf
在"auth,authpriv"之前,添加以下行(行号61)标记为红颜色。
*; local1.none"行。
[...] 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的系统中的"/var/log/secure"文件中,例如CentOS和Fedora。
要在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
示例输出:
Jan 3 17:13:26 centos8 sudo[20191]: theitroad : TTY=pts/0 ; PWD=/home/theitroad ; USER=root ; COMMAND=/bin/systemctl restart rsyslog Jan 3 17:13:35 centos8 sudo[20172]: theitroad : TTY=pts/0 ; PWD=/home/theitroad ; USER=root ; COMMAND=/bin/systemctl status rsyslog Jan 3 17:13:51 centos8 sudo[20176]: theitroad : TTY=pts/0 ; PWD=/home/theitroad ; USER=root ; COMMAND=/bin/yum update
如何在opensuse中更改默认sudo日志文件
sudo日志保存在suse和opensuse中的"/var/log/messages"文件中。
要在OpenSuse,编辑"/etc/sudoers"文件中设置专用sudo日志文件:
$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