监控Linux用户登录后的操作(history)
来源:互联网 发布:关口知宏对中国的感觉 编辑:程序博客网 时间:2024/06/07 22:49
在linux系统的环境下,不管是root用户还是其它的用户只有登陆系统后用进入操作我们都可以通过命令history来查看历史记录,可是假如一台服务器多人登陆,一天因为某人误操作了删除了重要的数据。这时候通过查看历史记录(命令:history)是没有什么意义了(因为history只针对登录用户下执行有效,即使root用户也无法得到其它用户histotry历史)。那有没有什么办法实现通过记录登陆后的IP地址和某用户名所操作的历史记录呢?答案:有的。
通过在/etc/profile里面加入以下代码就可以实现:
#PS1就是用来设置命令提示符的环境变量PS1="`whoami`@`hostname`:"'[$PWD]'#historyUSER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`if [ "$USER_IP" = "" ]thenUSER_IP=`hostname`fiif [ ! -d /tmp/loghistory ]thenmkdir /tmp/loghistorychmod 777 /tmp/loghistoryfiif [ ! -d /tmp/loghistory/${LOGNAME} ]thenmkdir /tmp/loghistory/${LOGNAME}chmod 300 /tmp/loghistory/${LOGNAME}fi# 保存历史命令条数export HISTSIZE=4096DT=`date "+%Y-%m-%d_%H:%M:%S"`# 设置保存历史命令的文件export HISTFILE="/tmp/loghistory/${LOGNAME}/${USER_IP}.loghistory.$DT"chmod 600 /tmp/loghistory/${LOGNAME}/*loghistory* 2>/dev/null
source /etc/profile 使用脚本生效
退出用户,重新登录(注销)
查看命令记录(本地:0.)
#export HISTFILE=/tmp/loghistory/:0.loghistory.2016-02-26_09:32:33
#history
注:这个脚本有一个缺点,如果是普通用户远程登录的,在切换的到root用户,之前普通用户的操作记录会被覆盖。暂时没想到太好的解决办法,只是很冗余的写到每个用户的.bash_profile里,如果有更好的办法欢迎交流。
0 0
- 监控Linux用户登录后的操作(history)
- Linux下查看用户登陆后的操作记录及history命令显示时间
- Linux下查看用户登陆后的操作记录及history命令显示时间
- Linux下查看用户登陆后的操作记录及history命令显示时间
- LINUX用户登录后精确命令记录(history 按时间、用户显示命令记录)
- linux history 记录 时间 ip 登录用户
- 通过HISTFILE变量实现在Linux下的用户登录和命令操作的监控
- Linux 配置 history 命令显示操作时间、用户和登录 IP
- ubuntu History命令显示操作时间、用户和登录IP
- 监控登录用户的触发器
- Linux下用户操作监控
- linux的history命令显示操作用户、显示操作时间、命令
- linux登录用户及操作
- linux系统中监控用户的操作记录命令
- Linux登录系统后了解用户、用户组、登录的终端以及root用户强制指定终端用户下线的小结
- Linux 查看history的操作时间
- linux下查看所有登录用户的历史操作命令
- Linux 记录所有用户登录和操作的详细日志
- Objective-C常用宏定义
- 安卓开发 检测WIFI是否打开,如果被关闭则自动打开。
- 基础总结篇之九:Intent应用详解
- gvim 右键菜单添加支持多tab页
- VPN(PPTP)流量记录
- 监控Linux用户登录后的操作(history)
- eclipse中console的输出行数控制
- ActiveMQ在C#中的应用
- Python 画图
- mysql索引总结----mysql 索引类型以及创建
- Swift命名空间动态获取并加载类
- 程序设计基础(C++)主页-2015级(基础班)
- JDK安装与环境变量配置
- Linux中执行shell脚本的4种方法总结