日志 - 有没有办法在LINUX上查询哪个用户从哪个IP登录什么时候执行了什么命令?
本文介绍了日志 - 有没有办法在LINUX上查询哪个用户从哪个IP登录什么时候执行了什么命令?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
请问为什么LINUX的日志系统这么分散啊?登录是登录,历史记录是历史记录。为什么就不能添加上关联和时间和IP参数呢?想查个哪个用户从哪个IP登录的什么时候执行了什么命令都不能查?难道我学习的还不够深?大家是怎么收集和分析这些信息呢?请大牛们赐教。
今天在看安全文章的时候发现了一个解决方案,感觉非常好。能满足我的需求。
export HISTTIMEFORMAT="%F %T
who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'
whoami
"
解决方案
在/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
source /etc/profile 使用脚本生效,退出用户,重新登录
上面脚本在系统的/tmp新建个dbasky目录,记录所有登陆过系统的用户和IP地址(文件名),每当用户登录/退出会创建相应的文件,该文件保存这段用户登录时期内操作历史,可以用这个方法来监测系统的安全性。
root@zsc6:[/tmp/dbasky/root]ls
10.1.80.47 dbasky.2013-10-24_12:53:08
root@zsc6:[/tmp/dbasky/root]cat 10.1.80.47 dbasky.2013-10-24_12:53:08
这篇关于日志 - 有没有办法在LINUX上查询哪个用户从哪个IP登录什么时候执行了什么命令?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文