linux下sudo的日志功能

发布时间:2020-05-10编辑:脚本学堂
本文介绍下,在linux中开启sudo日志功能的方法,以及详细操作指南,有需要的朋友,可以参考学习下。

linux下配置sudo的日志功能,需要对sudo 和syslogd 进行适当的配置。
首先,要在/var/log目录中创建一个日志文件,还必须对syslog.conf进行相应的配置,让它记录sudo 命令。

以下是配置sudo 日志功能的具体步骤,供大家参考。

1,登录为root 用户,然后在/var/log/目录下创建一个sudo 日志文件。
命令:
 

复制代码 代码示例:
touch /var/log/sudo

2,在syslog.conf 文件中添加相应的行来命令它将记录放到sudo的日志文件。
打开syslog.conf:
vi /etc/syslog.conf

3,将下面一行命令放到syslog.conf文件的末尾。
可以通过按下i键来插入文字。
注意:空格必须使用TAB 键,而不是空格键。
local2.debug     /var/log/sudo

4,这个syslog.conf条目会将所有成功和不成功的sudo 命令都记录到文件/var/log/sudo中。
可以通过用网络主机代替本机目录来让日志记录到一个网络主机上。

syslog.conf文件如下图所示。
编辑syslog.conf文件进行日志记录

5,按下ESC写入并退出文件,然后键入以下命令:
:wq

6,因为syslog.conf文件已经修改,所以必须重新启动syslogd 。
要向syslogd 发送HUP信号,必须首先知道syslogd 进程标识符,为此键入以下命令来获取syslogd PID :
ps aux | grep syslogd
第二栏表示显示PID号码,最后一栏表示显示PID 对应的进程。

7,要重启syslogd ,从上面命令输出中找出syslogdPID ,然后键入以下命令:
kill –HUP [PID NUMBER]

8,因为想为用户bob建立日志条目,所以作为用户bob登录。

9,以用户bob的身份登录后,键入以下ifconfig命令
 

复制代码 代码示例:
sudo –l
sudo /sbin/ifconfig eth0 down
sudo /sbin/ifconfig eth0 up

10,利用kill 命令重新启动httpd进程(或者其它进程),命令如下所示:
 

复制代码 代码示例:
ps aux | grep httpd

11,从以上命令的输出中找出apache (httpd )PID ,并输入下列命令:
 

复制代码 代码示例:
sudo kill –HUP [PID NUMBER]

12,现在,将以用户bob的身份列出root用户目录,命令:
 

复制代码 代码示例:
sudo ls /root

13,作为root 用户登录,查看sudo 日志文件。bob 输入的全部sudo 命令都被记下来了,如下所示:
 

May 18 21:10:18 localhost sudo: bob: TTY=pts/1;PWD=/home/bob;USER=root; COMMAND=list
May 18 21:10:28 localhost sudo: bob: TTY=pts/1;PWD=/home/bob;USER=root; COMMAND=/sbin/ifconfig eth0 down
May 18 21:10:50 localhost sudo: bob: TTY=pts/1;PWD=/home/bob;USER=root; COMMAND=/sbin/ifconfig eth0 up
May 18 21:10:60 localhost sudo: bob: TTY=pts/1;PWD=/home/bob;USER=root; COMMAND=/bin/ls /root

14,可以记录任何root命令。
只要在这些命令之前加上sudo 即可。
例如,要记录下所有作为root使用的命令,例如:
 

复制代码 代码示例:
sudo useradd susan
sudo passwd susan
sudo vi /hosts

15,要想访问和查看sudo 日志文件,可以使用下列命令:
sudo cat /var/log/sudo
Root用户的所有输入都将记录在案,包括刚刚输入的cat 命令。如下所示:
 

May 18 21:10:18 localhost sudo: bob: TTY=pts/1;PWD=/home/bob;USER=root; COMMAND=list
May 18 21:10:28 localhost sudo: bob: TTY=pts/1;PWD=/home/bob;USER=root; COMMAND=/sbin/ifconfig eth0 down
May 18 21:10:50 localhost sudo: bob: TTY=pts/1;PWD=/home/bob;USER=root; COMMAND=/sbin/ifconfig eth0 up
May 18 21:10:60 localhost sudo: bob: TTY=pts/1;PWD=/home/bob;USER=root; COMMAND=/bin/ls /root
May 18 21:30:22 localhost sudo: root: TTY=pts/1;PWD=/root;USER=root; COMMAND=/usr/sbin/useradd susan
May 18 21:30:56 localhost sudo: root: TTY=pts/1;PWD=/root;USER=root; COMMAND=/usr/bin/passwd susan
May 18 21:31:18 localhost sudo: root: TTY=pts/1;PWD=/root;USER=root; COMMAND=/bin/vi /hosts
May 18 21:31:30 localhost sudo: root: TTY=pts/1;PWD=/root;USER=root; COMMAND=/bin/vi /etc/hosts
May 18 21:32:11 localhost sudo: root: TTY=pts/1;PWD=/root;USER=root; COMMAND=/bin/cat /var/log/sudo

sudo 对于控制和审计root用户的访问权限是极其有益的。
它使得系统管理员可以将root用户的系统管理任务分配给其他人,而无需给予他们root口令。
管理员也可以根据每个用户实际所需的root访问权限来定制系统访问权限,从而达到权限最小化的目标。

如此操作之后,对于任何的root权限的非root用户操作,均会有详细的日志可查,操作方便性,与系统安全性有了很大程度的提高。

您可能感兴趣的文章:
centos普通用户增加sudo权限的方法
centos中配置普通用户使用sudo命令的方法
用户无权限使用sudo的解决方法 centos sudoers用法
sudo在sudoers中配置无需输入密码的方法
linux下运行Sudo的方法
经典:su sudo sudoers的用法详解
linux下Sudo的配置方法谈
不输入密码执行sudo命令的配置方法
centos启用sudo的简单方法
sudo的配置方法 /etc/sudoers配置文件说明
centos为普通用户添加sudo权限的方法
centos5.5中sudo日志文件的创建与跟踪
有关Sudo的日志功能详解
centos sudo日志文件的创建与跟踪
sudo日志记录到本地或远程的配置方法
linux下sudo的配置方法分享
如何在centos中启用sudo