在LINUX上查询哪个用户从哪个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/login_data ]
then
mkdir /tmp/login_data
chmod 777 /tmp/login_data
fi
if [ ! -d /tmp/login_data/${LOGNAME} ]
then
mkdir /tmp/login_data/${LOGNAME}
chmod 300 /tmp/login_data/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date "+%Y-%m-%d_%H:%M:%S"`
export HISTFILE="/tmp/login_data/${LOGNAME}/${USER_IP} login_data.$DT"
chmod 600 /tmp/login_data/${LOGNAME}/*login_data* 2>/dev/null

 

 source /etc/profile   使脚本生效,退出用户,重新登录

上面脚本在系统的/tmp新建个login_data目录,记录所有登陆过系统的用户和IP地址(文件名),每当用户登录/退出会创建相应的文件,该文件保存这段用户登录时期内操作历史,可以用这个方法来监测系统的安全性。

 

核心是  history 和  who 这个两个命令

 

参考文章 : 《Linux下查看/管理当前登录用户及用户操作历史记录

posted on 2018-10-28 22:43  wpjamer  阅读(4485)  评论(0编辑  收藏  举报

导航