问答详情
源自:8-2 Linux中用户登录查看命令

如何查询制定用户的历史操作记录?详细到操作时间,具体输入命令

如何查询制定用户的历史操作记录?详细到操作时间,具体输入命令

提问者:慕侠2492172 2019-08-20 17:14

个回答

  • 慕侠小天
    2019-08-29 17:25:29

    history是查询当前连接所操作的命令,通过编写以下内容添加至/etc/profile的原有内容之后,将每个连接的操作都进行记录,并保存在特定位置。


    vi /etc/profile


    添加内容如下:


    #history record

    history

    RQ=`date "+%Y%m%d"`

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

    if [ "$USER_IP" = "" ]

    then

    USER_IP=`hostname`

    fi

    if [ ! -d /tmp/record ]

    then

    mkdir /tmp/record

    chmod 777 /tmp/record

    fi

    if [ ! -d /tmp/record/${LOGNAME}/${RQ} ]

    then

    mkdir -p /tmp/record/${LOGNAME}/${RQ}

    chmod 300 /tmp/record/${LOGNAME}/${RQ}

    fi

    export HISTSIZE=8192

    SJ=`date "+%H:%M:%S"`

    export HISTFILE="/tmp/record/${LOGNAME}/${RQ}/${USER_IP}@${LOGNAME}.$SJ"

    chmod 600 /tmp/record/${LOGNAME}/*record* 2>/dev/null

    然后保存并退出,执行以下命令,使得编写的配置生效。


    source /etc/profile


    将操作记录保存在/tmp/record/用户名/日期/登录IP@用户名.时间,

    例如:/tmp/record/root/20170801/192.168.108.140@root.16:02:41


    历史操作命令已经记录在上述文件中,可以直接查看。

    原文链接:https://blog.csdn.net/jack0201/article/details/76548147/