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使其生效。

    效果图如下:

  • 相关阅读:
    基于Html5的移动应用开发经验总结:第一篇架构选型篇(下)
    401 Palindromes 解题报告
    uva 537 Artificial Intelligence?
    根据所给的年月,打印该月份的日历表
    八皇后问题
    uva10815 Andy's First Dictionary
    憋了我半天,写个博客发泄一下
    uva 457
    uva 10010 Where's Waldorf?
    uva424 Integer Inquiry
  • 原文地址:https://www.cnblogs.com/dadonggg/p/8522907.html
Copyright © 2011-2022 走看看