随着时代的发展,我们生活中了解计算机的越来越多,黑客也越来越多;为了安全起见,我们需要记录所用户的登录及操作日志;我们需要清楚服务器上每个用户登录后都做了哪些操作,我们需要记录下每个用户的操作命令。
下面的内容设置可以实现在Linux下所有用户,不管是远程还是本地登陆,在本机的所有操作都会记录下来,并生成包含“用户/IP/时间/操作指令”的文件存放在指定位置。
1、添加以下信息到/etc/profile文件里
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
################## 记录信息开始 ####################
#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
########################## 结束 ############################
|
2、使用配置生效
1
|
# source /etc/profile
|
3、退出重启登录后查看生成的日志信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
[root@localhost ~]# cd /
var
/log/.hist/root/
[root@localhost root]# ls
192.168.206.1.hist.20170604_085436
[root@localhost root]# cat 192.168.206.1.hist.20170604_085436
#1496537687
cd /
var
/log/.hist/
#1496537688
ls
#1496537690
cd root/
#1496537691
ls
#1496537692
ll
#1496537695
exit
|
4、小技巧:正常格式查看日志信息
1
2
3
4
5
6
|
[root@localhost root]# export HISTFILE=/
var
/log/.hist/root/192.168.206.1.hist.20170604_085436
[root@localhost root]# history
1 [2017.06.04 08:55:04]cd /
var
/log/.hist/root/
2 [2017.06.04 08:55:05]ls
3 [2017.06.04 08:55:10]cat 192.168.206.1.hist.20170604_085436
4 [2017.06.04 08:55:31]#history
|
至此,所有操作就已经完成了。如有问题请联系:DBA_Master@163.com
本文转自yangxuncai110 51CTO博客,原文链接:http://blog.51cto.com/zlyang/1933865,如需转载请自行联系原作者