zoukankan      html  css  js  c++  java
  • 记录用户操作历史命令history

    我们知道可以使用history命令,查看自己的操作记录,但如果你是root用户,如何查看其它用户的操作记录呢?
     
    其实history命令只是把当前用户目录下的~/.bash_History文件内容列出来而已。

     1.第一种:配置/etc/bashrc

    一般而言,history展示的操作记录是没有时间的,可以在/etc/bashrc文件中加入下列代码:
    HISTFILESIZE=2000  # #设置保存历史命令的文件大小
    HISTSIZE=2000      ##保存历史命令条数
    HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S:"   ###记录每条历史命令的执行时间
    export HISTTIMEFORMAT
    注意:
    其中:
            %Y:4位数的年份;
            %m:2位数的月份数;
            %d:2位数的一个月中的日期数;
            %H:2位数的小时数(24小时制);
            %M:2位数的分钟数;
            %S:2位数的秒数

     2.第二种:配置脚本,放入/etc/profile

    #history
    USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
    HISTDIR=/usr/share/.history
    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=4000
    DT=`date +%Y-%m-%d_%H:%M:%S`
    export HISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.history.$DT"
    HISTTIMEFORMAT="`whoami`: | %F | %T: |${USER_IP}:" 
    chmod 600 $HISTDIR/${LOGNAME}/*.history* 2>/dev/nul

    脚本的作用是记录用户登陆后的操作,如果这个用户是root用户,会在/usr/share/.history/下创建用户名的文件夹,里面存放用户相关的历史命令记录。

    下面看下一个文件中的内容

    [root@iZ2ze2db4rp7b7weknjhneZ root]# cat 49.4.151.23.history.2018-03-08_12:25:10
    #1520483137
    cd /usr/share/.history/
    #1520483138      ###记录命令执行的时间戳,可通过相关软件转换
    ls
    #1520483139
    cd xin/
    #1520483140
    ls
    #1520483150
    cd ..
    #1520483151
    ls

    3.第三种:配置/etc/profile

    这种方法最简单,只需要在/etc/profile中加入下面一句话即可。

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

    配置完,需要使用source /etc/profile使其生效。

    效果图如下:

  • 相关阅读:
    golang中的值传递和引用传递
    链表

    hashtable(哈希表)
    TAO: Facebook’s Distributed Data Store for the Social Graph. 论文阅读笔记(上)
    Skip Lists: A Probabilistic Alternative to Balanced Trees 跳表论文阅读笔记
    【译】如何实现一个现代化电子商城搜索?(一)
    Elasticsearch搜索资料汇总
    Python 按比例获取样本数据或执行任务
    Python 按分类样本数占比生成并随机获取样本数据
  • 原文地址:https://www.cnblogs.com/dadonggg/p/8522907.html
Copyright © 2011-2022 走看看