设置history显示时间和用户

1.设置history显示时间和用

echo export HISTTIMEFORMAT="%F %T `whoami`" >>/etc/profile
或者
echo export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S  `whoami` ">>/etc/profile
执行source生效:source /etc/profile

2.只看到自己的操作记录(时间,用户,ip名)

USER_IP=`who -u am i 2>>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
export HISTTIMEFORMAT="[%F %T][`whoami`][${USER_IP}]"

执行source生效:source /etc/profile

查看结果:history

3.将history记录到log

切换到root用户下,编辑/etc/profile
#export HISTTIMEFORMAT="%F %T $USER_IP:`whoami` "
#export HISTTIMEFORMAT="%F %T $USER_IP:`whoami` "
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
export HISTTIMEFORMAT="[%F %T][`whoami`][${USER_IP}]"
#history
LOGIP=`who -u am i 2>>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
LOG_DIR=/var/log/history
if [ -z $LOGIP ]
    then
    LOGIP=`hostname`
fi
if [ ! -d $LOG_DIR ]
    then
    mkdir -p $LOG_DIR
    chmod 777 $LOG_DIR
fi
if [ ! -d $LOG_DIR/${LOGNAME} ]
    then
    mkdir -p $LOG_DIR/${LOGNAME}
    chmod 777 $LOG_DIR/${LOGNAME}
fi
export HISTSIZE=4096
LOGTM=`date +"%Y%m%d_%H%M%S"`
export HISTFILE="$LOG_DIR/${LOGNAME}/${LOGIP}-$LOGTM"
chmod 777 $LOG_DIR/${LOGNAME}/*-* 2>>/dev/null

运行结果:source /etc/profile
查看结果:ls /var/log/history/root/

4.另外一种方法是在配置文件中(/etc/bashrc 或者 ~/.bashrc)添加如下配置

vi /etc/bashrc // 进到这个里面之后,再在最后加上下面这一段即可。

HISTFILESIZE=4000 #默认保存命令是1000条,这里修改为4000条
HISTSIZE=4000
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` #取得登录客户端的IP
if [ -z $USER_IP ]
then
USER_IP=`hostname`
fi
HISTTIMEFORMAT="%F %T $USER_IP:`whoami` " #设置新的显示history的格式
export HISTTIMEFORMAT

# source /etc/bashrc
# history
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容