现在的位置: 首页 > 综合 > 正文

linux系统中监控用户的操作记录命令

2018年05月07日 ⁄ 综合 ⁄ 共 1055字 ⁄ 字号 评论关闭

首先我们创建一个放操作记录的日志文件

 代码如下 复制代码

touch /var/log/rootlog.txt

给这个文件相应的写权限和追加权限

 代码如下 复制代码

chmod 002 /var/log/rootlog.txt
chattr +a /var/log/rootlog.txt

编辑/etc/profile文件,末尾添加如下脚本命令

 代码如下 复制代码

export HISTORY_FILE=/var/log/usermonitor/usermonitor.log
export PROMPT_COMMAND='{ date "+%y-%m-%d %T ##### $(who am i |awk "{print $1" "$2" "$5}")  #### $(id|awk "{print $1}") #### $(history 1 | { read x cmd; echo "$cmd"; })"; } >>$HISTORY_FILE'

使配置生效

 代码如下 复制代码

source /etc/profile

嘿嘿,这样就算完成了,用户的所有操作记录都会乖乖的记录在这个文件中了。

记录登陆后的IP地址和某用户名所操作的历史记录呢?答案:有的。
通过在/etc/profile里面加入以下代码就可以实现:

 代码如下 复制代码
PS1="`whoami`@`hostname`:"'[$PWD]'
history
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]
then
USER_IP=`hostname`
fi
if [ ! -d /tmp/dbasky ]
then
mkdir /tmp/dbasky
chmod 777 /tmp/dbasky
fi
if [ ! -d /tmp/dbasky/${LOGNAME} ]
then
mkdir /tmp/dbasky/${LOGNAME}
chmod 300 /tmp/dbasky/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date " %Y%m%d_%H%M%S"`
export HISTFILE="/tmp/dbasky/${LOGNAME}/${USER_IP} dbasky.$DT"
chmod 600 /tmp/dbasky/${LOGNAME}/*dbasky* 2>/dev/null

其实通过上面的代码不能看出来,在系统的/tmp新建个dbasky目录,在目录中记录了所有的登陆过系统的用户和IP地址,是不是觉得很方便呢?我们还可以用这个方法来监测系统的安全性。

抱歉!评论已关闭.