合理使用shell历史命令记录功能

作者: FilesFan | 来源:发表于2019-11-17 20:31 被阅读0次

    概述

    在Linux下使用history命令可以查看用户所有的历史操作记录,默认记录在用户目录下.bash_history文件中。如果黑客入侵后会删除该文件销毁痕迹。这就需要合理的备份.bash_history文件

    配置方法

    1.history命令只是单纯的记录命令,并没有记录时间,所以要把格式做下修改,在/etc/bashrc文件中添加

    HISTFILESIZE=4000   #保存命令总数
    HISTSIZE=400  #history命令输出总数
    HISTTIMEFORMAT='%F %T '  #时间格式,注意最后有空格
    export HISTTIMEFORMAT
    

    下面使用脚本来详细记录历史命令。可以将下面的代码加到/etc/profile中

    #save history 
    IP=$(who -u am i|awk '{print $NF}'|sed -e 's/[()]//g')
    HISTDIR=/opt/.history
    if [ -z $IP ];then
        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=4000
    DateTime=$(date +%F_%H%M%S)
    export HISTFILE="$HISTDIR/$LOGNAME/$IP.histroy.$DateTime"
    HISTTIMEFORMAT='%F %T '  
    chmod 600 $HISTDIR/$LOGNAME/*.history.* 2>/dev/null
    

    这段代码将每个用户本次登陆主机的shell命令执行历史以文件的形式保存下来,每个用户一个文件夹。

    相关文章

      网友评论

        本文标题:合理使用shell历史命令记录功能

        本文链接:https://www.haomeiwen.com/subject/spcmictx.html