• 欢迎访问极客公园网站,WordPress信息,WordPress教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入极客公园 QQ群
  • Git主题现已支持滚动公告栏功能,兼容其他浏览器,看到的就是咯,在后台最新消息那里用li标签添加即可。
  • 最新版Git主题已支持说说碎语功能,可像添加文章一样直接添加说说,新建说说页面即可,最后重新保存固定连接,演示地址
  • 百度口碑求点赞啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊http://koubei.baidu.com/s/gitcafe.net
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏极客公园吧

(总结)按时按登录IP记录Linux所有用户操作日志的方法(附脚本)

原创总结 博客教主 12年前 (2012-06-15) 11196次浏览 2个评论

PS:Linux用户操作记录一般通过命令history来查看历史记录,但是如果因为某人误操作了删除了重要的数据,这种情况下history命令就不会有什么作用了。以下方法可以实现通过记录登陆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/history ]
then
mkdir /tmp/history
chmod 777 /tmp/history
fi
if [ ! -d /tmp/history/${LOGNAME} ]
then
mkdir /tmp/history/${LOGNAME}
chmod 300 /tmp/history/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date +"%Y%m%d_%H%M%S"`
export HISTFILE="/tmp/history/${LOGNAME}/${USER_IP} history.$DT"
chmod 600 /tmp/history/${LOGNAME}/*history* 2>/dev/null

通过上面的代码可以看出来,在系统的/tmp新建个history目录(这个目录可以自定义),在目录中记录了所有的登陆过系统的用户和IP地址,这也是监测系统安全的方法之一。

脚本自动生成的记录文件如下:


极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:(总结)按时按登录IP记录Linux所有用户操作日志的方法(附脚本)
喜欢 (0)

您必须 登录 才能发表评论!

(2)个小伙伴在吐槽
  1. 你好,我也安装了9,可是到这里就卡了:Attempting to mount media :/dev/sr0 Attempting to mount media :/dev/sda1 Attempting to mount media :/dev/sda2 很明显问题是处在硬盘扫描上了,前面是Looking for the cdrom 我硬盘检测了没错误,而且以前也安装OPENSUSE UBUNUT FEDORA等LINUX发行版,也装过SABAYON 8,这次不知道怎么回事情,于是我尝试用虚拟机安装,虚拟机很正常因为进建立的VDI是空的硬盘,不知道什么原因,让人费解。你能帮我解释下么,高人。我换了一台机器也是如此,我用USB盘作的启动盘没有刻盘,为了环保。谢谢,请及时回复我的EAMIL,等
    rh2042012-08-20 13:18
  2. 博主你好,如何在此基础上,把具体命令的操作结果记录呢?比如我vi时dd了一行记录,但是history显示的只是vi 文件,没有具体的操作记录
    Geekwolf2013-03-13 09:58