日志 - 有没有办法在LINUX上查询哪个用户从哪个IP登录什么时候执行了什么命令?

查看:254
本文介绍了日志 - 有没有办法在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下查看/管理当前登录用户及用户操作历史记录

这篇关于日志 - 有没有办法在LINUX上查询哪个用户从哪个IP登录什么时候执行了什么命令?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆