默认查看历史记录是这样的
[root@iZ88f2q4kxgs ~]# history
1 history
默认history命令是读取
[root@iZ88f2q4kxgs ~]# ls ~/.bash_history
为了方便排查问题增加时间、用户名、登录ip
[root@iZ88f2q4kxgs ~]# history
1 2020-05-15:15-50-31:root:172.18.17.94:history
2 2020-05-15:15-52-14:root:172.18.17.94:vi /etc/profile
3 2020-05-15:15-55-23:root:172.18.17.94:. /etc/profile
4 2020-05-15:15-55-24:root:172.18.17.94:ls
5 2020-05-15:15-55-26:root:172.18.17.94:history
设置如下:编辑/etc/profile文件,在最下面增加下面
注意:HISTSIZE是保存的条数,这个值可以设置大点。
[root@iZ88f2q4kxgs ~]# vi /etc/profile
#edit history format
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]; then
USER_IP=`hostname`
fi
HISTTIMEFORMAT="%Y-%m-%d:%H-%M-%S:`whoami`:$USER_IP:"
export HISTSIZE=4096
###########################################################
让配置文件生效
[root@iZ88f2q4kjhZ ~]# source /etc/profile
另外再设置一个隐藏命令记录,让日志保存到/var/log/secure中,防止有人恶意历史命令清空,这里如果进入用户切换成其他用户也会显示
[root@iZ88f2q4kxgs ~]# vi /etc/bashrc
#文件底部增加一行
######add history to /vat/log/secure
export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger -p authpriv.info PWD=`pwd` "; " "USER"=$(whoami) "; " COMMAND="$msg" ;}'
##################################
让配置文件生效
[root@iZ88f2q4kxgs ~]# source /etc/profile
/var/log/secure日志效果
[root@iZ88f2q4kxgs ~]# tail -2 /var/log/secure
May 17 16:18:21 iZ88f2q4kxgs root: PWD=/root ; USER=root ; COMMAND=exit
May 17 16:18:22 iZ88f2q4kxgs root: PWD=/root ; USER=root ; COMMAND=history