LINUX用户登录后精确命令记录
来源:互联网 发布:软件行业例会 编辑:程序博客网 时间:2024/05/19 13:30
主要功能:
可以记录哪个ip和时间(精确到秒)作了哪些命令
通过用户登录时候,重新定义HISTFILE
HISTFILE文件名包含登录用户名,ip,登录时间(精确到秒)等
这样即使相同的用户从不同ip、在不同的时间登录都会被记录
可以记录每条命令的开始执行时间
把下面的代码直接粘贴到/etc/profile后面就可以了
#history
export HISTTIMEFORMAT="[%Y.%m.%d %H:%M:%S]"
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'
HISTDIR=/var/log/.hist
if [ -z $USER_IP ]
then
USER_IP=`hostname
fi
if [ ! -d $HISTDIR ]
then
mkdir -p $HISTDIR
chmod 777 $HISTDIR
fi
if [ ! -d $HISTDIR/${LOGNAME} ]
then
mkdir -p $HISTDIR/${LOGNAME}
chmod 300 $HISTDIR/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date +%Y%m%d_%H%M%S
export HISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.hist.$DT"
chmod 600 $HISTDIR/${LOGNAME}/*.hist* 2>/dev/null
得到的结果,永久保存,每个用户的命令记录分目录保存
# ls -l /var/log/.hist/root/
-rw------- 1 root root 546 2006-05-26 10:00 218.82.245.54.hist.20060526_092458
-rw------- 1 root root 243 2006-05-28 13:28 218.82.245.54.hist.20060528_114822
-rw------- 1 root root 10 2006-05-28 12:18 218.82.245.54.hist.20060528_121605
查看命令记录
# export HISTFILE=/var/log/.hist/root/222.72.16.204.hist.20060608_152551
# history
1 [2006.06.24 13:22:51] vi /etc/profile
2 [2006.06.24 13:23:25] cd /var/log/.hist
3 [2006.06.24 13:23:26] ls -al
4 [2006.06.24 13:23:30] cd sadmin
5 [2006.06.24 13:23:31] ls -al
6 [2006.06.24 13:24:22] more 58.35.169.51.hist.20060524_193219
7 [2006.06.24 13:24:35] 222.72.16.204.hist.20060622_143133
8 [2006.06.24 13:24:39] more 222.72.16.204.hist.20060622_143133
9 [2006.06.24 13:24:51] hist -f 222.72.16.204.hist.20060622_143133
10 [2006.06.24 13:24:59] history -f 222.72.16.204.hist.20060622_143133
11 [2006.06.24 13:25:12] history 222.72.16.204.hist.20060622_143133
12 [2006.06.24 13:25:32] man histtory
13 [2006.06.24 13:25:38] man history
14 [2006.06.24 13:26:00] hist
15 [2006.06.24 13:26:04] history
16 [2006.06.24 13:26:16] ls
17 [2006.06.24 13:26:39] export 222.72.16.204.hist.20060622_143133
18 [2006.06.24 13:26:59] export HISTFILE=222.72.16.204.hist.20060608_152551
19 [2006.06.24 13:27:07] history 主要功能:
可以记录哪个ip和时间(精确到秒)作了哪些命令
通过用户登录时候,重新定义HISTFILE
HISTFILE文件名包含登录用户名,ip,登录时间(精确到秒)等
这样即使相同的用户从不同ip、在不同的时间登录都会被记录
可以记录每条命令的开始执行时间
把下面的代码直接粘贴到/etc/profile后面就可以了
#history
export HISTTIMEFORMAT="[%Y.%m.%d %H:%M:%S]"
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'
HISTDIR=/var/log/.hist
if [ -z $USER_IP ]
then
USER_IP=`hostname
fi
if [ ! -d $HISTDIR ]
then
mkdir -p $HISTDIR
chmod 777 $HISTDIR
fi
if [ ! -d $HISTDIR/${LOGNAME} ]
then
mkdir -p $HISTDIR/${LOGNAME}
chmod 300 $HISTDIR/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date +%Y%m%d_%H%M%S
export HISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.hist.$DT"
chmod 600 $HISTDIR/${LOGNAME}/*.hist* 2>/dev/null
得到的结果,永久保存,每个用户的命令记录分目录保存
# ls -l /var/log/.hist/root/
-rw------- 1 root root 546 2006-05-26 10:00 218.82.245.54.hist.20060526_092458
-rw------- 1 root root 243 2006-05-28 13:28 218.82.245.54.hist.20060528_114822
-rw------- 1 root root 10 2006-05-28 12:18 218.82.245.54.hist.20060528_121605
查看命令记录
# export HISTFILE=/var/log/.hist/root/222.72.16.204.hist.20060608_152551
# history
1 [2006.06.24 13:22:51] vi /etc/profile
2 [2006.06.24 13:23:25] cd /var/log/.hist
3 [2006.06.24 13:23:26] ls -al
4 [2006.06.24 13:23:30] cd sadmin
5 [2006.06.24 13:23:31] ls -al
6 [2006.06.24 13:24:22] more 58.35.169.51.hist.20060524_193219
7 [2006.06.24 13:24:35] 222.72.16.204.hist.20060622_143133
8 [2006.06.24 13:24:39] more 222.72.16.204.hist.20060622_143133
9 [2006.06.24 13:24:51] hist -f 222.72.16.204.hist.20060622_143133
10 [2006.06.24 13:24:59] history -f 222.72.16.204.hist.20060622_143133
11 [2006.06.24 13:25:12] history 222.72.16.204.hist.20060622_143133
12 [2006.06.24 13:25:32] man histtory
13 [2006.06.24 13:25:38] man history
14 [2006.06.24 13:26:00] hist
15 [2006.06.24 13:26:04] history
16 [2006.06.24 13:26:16] ls
17 [2006.06.24 13:26:39] export 222.72.16.204.hist.20060622_143133
18 [2006.06.24 13:26:59] export HISTFILE=222.72.16.204.hist.20060608_152551
19 [2006.06.24 13:27:07] history
- LINUX用户登录后精确命令记录
- LINUX用户登录后精确命令记录(history 按时间、用户显示命令记录)
- Linux精确记录 用户ip及操作
- Linux清除用户登录记录和命令历史方法
- Linux清除用户登录记录和命令历史方法
- Linux清除用户登录记录和命令历史方法
- Linux用户登录记录日志和相关查看命令汇总
- Linux用户登录记录日志和相关查看命令汇总
- linux记录系统中常用重要的log记录和用户的所有操作精确命令记录
- linux记录系统中常用重要的log记录和用户的所有操作精确命令记录
- Linux用户登录查看命令
- linux 用户登录查看命令
- 记录服务器登录用户的历史命令
- spring security3 记录用户登录成功后的登录时间
- linux history 记录 时间 ip 登录用户
- Linux下查看用户登陆后的操作记录及history命令显示时间
- Linux下查看用户登陆后的操作记录及history命令显示时间
- Linux下查看用户登陆后的操作记录及history命令显示时间
- 遗传算法
- 万物皆有存在的理由
- hashcode()和equals()方法
- ext grid 实现单选
- 网线有效距离和解决办法.doc
- LINUX用户登录后精确命令记录
- CSS:word-wrap同word-break的区别
- Asp.net MVC 示例项目"Suteki.Shop"分析之---结束篇
- ASP.NET 2.0 两种模式website和web application到底那个好?
- OSD(On Screen Display)简介
- Web设计师必须知道的11个SEO技巧
- net framework 2.0,3.0与3.5三个版本之间关系如下
- 监视,测试站点的工具
- B/S打印条码(TDP643测试通过)