linux下查看所有登录用户的历史操作命令
来源:互联网 发布:通用电气公司人事知乎 编辑:程序博客网 时间:2024/05/01 02:48
最近服务器出现各种莫名奇怪的问题,可又查不出来到底谁干的,向度娘一问,给出了下面这位大牛的解决办法,正是我所欲也!
原文地址: http://www.cnblogs.com/gaojun/archive/2013/10/24/3385885.html
在linux系统的环境下,不管是root用户还是其它的用户只有登陆系统后用进入操作我们都可以通过命令history来查看历史记录,可是假如一台服务器多人登陆,一天因为某人误操作了删除了重要的数据。这时候通过查看历史记录(命令:history)是没有什么意义了(因为history只针对登录用户下执行有效,即使root用户也无法得到其它用户histotry历史)。那有没有什么办法实现通过记录登陆后的IP地址和某用户名所操作的历史记录呢?答案:有的。
通过在/etc/profile里面加入以下代码就可以实现:
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/dbasky ]thenmkdir /tmp/dbaskychmod 777 /tmp/dbaskyfiif [ ! -d /tmp/dbasky/${LOGNAME} ]thenmkdir /tmp/dbasky/${LOGNAME}chmod 300 /tmp/dbasky/${LOGNAME}fiexport HISTSIZE=4096DT=`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
root@zsc6:[/tmp/dbasky/root]
cd /etc/
…
(命令列表)
就可以查看到在12:53:08从10.1.80.47登录的root用户操作命令历史
本人测试后的截图如下:
- linux下查看所有登录用户的历史操作命令
- linux查看用户登录时间以及命令历史
- 在linux用户下查看当前用户或者历史用户的操作记录
- linux下查看当前用户登录的命令
- linux查看用户操作历史
- Linux环境下查看历史操作命令及清除方法
- linux 用户管理(3)----查看用户登录时间以及命令历史
- Linux用户登录查看命令
- linux 用户登录查看命令
- linux下查看所有用户及所有用户组的信息
- 清除所有用户的历史命令
- 记录服务器登录用户的历史命令
- linux下查看用户的命令
- linux系统下查看历史命令
- Linux下查看历史操作记录
- Linux下查看历史操作记录
- Linux 记录所有用户登录和操作的详细日志
- Linux查看所有用户用什么命令
- js注册在标签上的点击事件
- Ordered dithering
- 多余元素删除之移位算法
- web安全(入门篇)
- 伪静态配置开启
- linux下查看所有登录用户的历史操作命令
- Flex 布局教程:语法篇
- Wifi密码破解1:通过字典(暴力)破解WIFI密码
- Fedora之tftp服务器的安装与使用
- 在windows下搭建github+jekyll博客平台
- Demo-jQuery常用选择过滤器
- 让两个数进值互换 面试题
- inotify+rsync安装配置
- c/c++ 宏定义