按时按登录IP记录Linux所有用户操作日志的方法(附脚本)
2015-11-03 10:01
801 查看
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地址,这也是监测系统安全的方法之一。
相关文章推荐
- Linux-管理netstat lsof
- linux 安装安装rz/sz 和 ssh
- CentOS上部署开发环境
- centos下的hadoop服务器的配置
- expect spawn、linux expect 用法
- Linux终端的几个常用快捷方式,记下!
- centos下的hadoop集群实现ssh的无密码登陆
- 【内核】进程切换 switch_to 与 __switch_to
- Linux档案权限学习笔记
- Linux命令-man
- linux的crontab定时服务备份mysql数据
- Linux线程池
- linux 软件安装 卸载
- ubuntu centos 区分
- RHCE 系列(三):如何使用 Linux 工具集生成和发送系统活动报告
- RHCE 系列(三):如何使用 Linux 工具集生成和发送系统活动报告
- Linux文件系统
- 进程间数据通信方式及特点
- Linux fork函数
- Notes Understanding the Linux kernel