在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下查看/管理当前登录用户及用户操作历史记录


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM