精华内容
下载资源
问答
  • Linux服务器记录并查询历史操作记录

    万次阅读 2017-08-01 17:31:21
    Linux服务器在使用过程中,经常会有除自己之外的...history是查询当前连接所操作的命令,通过编写以下内容添加至/etc/profile的原有内容之后,将每个连接的操作都进行记录,并保存在特定位置。 vi /etc/profile 添加内

    Linux服务器在使用过程中,经常会有除自己之外的其他人员使用。并不是每个人都对Linux服务器特别熟悉,难免会有一些操作导致服务器报错。

    因此,监控Linux服务器的操作并记录下来,是非常有必要的!

    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

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

    但是为了查询方便,可以再编写一个查询的脚本。使用root用户登录,创建bin文件夹,命令如下:

    mkdir /root/bin

    创建查询脚本record:

    vi /root/bin/record

    添加以下内容:

    #!/bin/sh
    user=${LOGNAME}
    time=`date +%Y%m%d`
    ip=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
    
    while [ $# -gt 0 ]
    do
            case $1 in
            -u|--user) user=$2;
                       shift 2;
                       ;;
            -t|--time) time=$2;
                       shift 2;
                       ;;
            -p|--ip)  ip=$2;
                       shift 2;
                       ;;
            -l|--list)
                      export HISTFILE="/tmp/record/$user/$time";
                      echo $HISTFILE;
                      ls $HISTFILE;
                      exit 0;
                      ;;
            *)
                    echo "usage: record [ -u|-t|-p|-t| --user|--time|--ip|--list]
                    -u --user:      username;
                    -t --time:      The date required to query;
                    -p --ip:        Query the IP ;
                    -l --list:      Show the list of record files.
            Notice:
                    -l --list:      This parameter must be used as the last parameter,
                                    and only the display of the file path,
                                    not the file contents."
                    exit 0;
         ;;
     esac
    done
    
    export HISTFILE="/tmp/record/$user/$time"
    echo Path: $HISTFILE/ | tr -d '\n'
    ls $HISTFILE | grep $ip
    #export RecordFile="$HISTFILE/$ip*"
    #echo Contents:
    #cat $RecordFile


    保存并退出,使用root用户在任意目录下面都可以使用record命令进行查询历史操作记录。

    注:只有当连接退出之后,才会保存操作记录。不指定参数的话,会使用当前连接的默认参数!

    具体参数使用情况如下:



    默认查询(查询当前用户,当前IP的历史连接的操作记录)

    record

    将执行相应命令显示出来文件,进行打开,即可查看。(此处我已进行修改,除了l或者list参数以外,可以自动展示出来历史记录。由于历史操作太多,暂时进行注释。)


    本人能力一般,希望大家多多指教!

    展开全文
  • Linux系统下可通过history命令查看用户所有的历史操作记录,在安全应急响应中起着非常重要的作用,但在未进行附加配置情况下,history命令只能查看用户历史操作记录,并不能区分用户以及操作时间,不便于审计分析。
  • linux查询历史操作命令如何模糊匹配

    千次阅读 多人点赞 2020-03-01 19:41:49
    history是我们经常用来查询本终端历史操作命令的本地记录,但如何可以快速模糊匹配一下呢? 例如:查询包含 "mysql" 的命令(如下): history | grep 'mysql' 包括命令 历史序号 命令 ...

    history是我们经常用来查询本终端历史操作命令的本地记录,但如何可以快速模糊匹配一下呢?

    例如:查询包含 "mysql" 的命令(如下):

    history | grep 'mysql'

    包括命令   历史序号   命令

    展开全文
  • Linux下查看历史操作记录

    千次阅读 2021-01-04 08:23:44
    Linux下查看历史操作记录 2012-04-17 10:23:05 我来说两句 收藏 我要投稿 last命令可以用来查看用户的登陆记录。 history命令可以查看命令的执行历史。 www.2cto.com 常用日志文件如下:  access-log 纪录HTTP/web...

    Linux下查看历史操作记录
    2012-04-17 10:23:05 我来说两句 收藏 我要投稿

    last命令可以用来查看用户的登陆记录。

    history命令可以查看命令的执行历史。
    www.2cto.com
    常用日志文件如下:
        access-log   纪录HTTP/web的传输
        acct/pacct   纪录用户命令
        aculog     纪录MODEM的活动
        btmp      纪录失败的纪录
        lastlog     纪录最近几次成功登录的事件和最后一次不成功的登录
        messages    从syslog中记录信息(有的链接到syslog文件)
        sudolog     纪录使用sudo发出的命令
        sulog      纪录使用su命令的使用
        syslog     从syslog中记录信息(通常链接到messages文件)
        utmp      纪录当前登录的每个用户
        wtmp      一个用户每次登录进入和退出时间的永久纪录
        xferlog     纪录FTP会话

    但是~/.bash_history里面是没有时间的记录的,可以用下面的脚本来记录时间。

    通过在/etc/profile里面加入以下代码就可以实现:

    PS1="whoami@hostname:"’[$PWD]’
      history www.2cto.com
      USER_IP=who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g' #print N F 取 最 后 一 个 域 的 字 段     i f [ " NF取最后一个域的字段   if [ " NF  if["USER_IP" = “” ]
      then
      USER_IP=hostname
      fi
      if [ ! -d /tmp/dbasky ]
      then
      mkdir /tmp/dbasky
      chmod 777 /tmp/dbasky
      fi
      if [ ! -d /tmp/dbasky/ L O G N A M E ]     t h e n     m k d i r / t m p / d b a s k y / {LOGNAME} ]   then   mkdir /tmp/dbasky/ LOGNAME]  then  mkdir/tmp/dbasky/{LOGNAME}
      chmod 300 /tmp/dbasky/ L O G N A M E     f i     e x p o r t H I S T S I Z E = 4096     D T = ‘ d a t e "     e x p o r t H I S T F I L E = " / t m p / d b a s k y / {LOGNAME}   fi   export HISTSIZE=4096   DT=`date " %Y%m%d_%H%M%S"`   export HISTFILE="/tmp/dbasky/ LOGNAME  fi  exportHISTSIZE=4096  DT=date"  exportHISTFILE="/tmp/dbasky/{LOGNAME}/ U S E R I P d b a s k y . {USER_IP} dbasky. USERIPdbasky.DT"
      chmod 600 /tmp/dbasky/${LOGNAME}/dbasky 2>/dev/null

    其实通过上面的代码不能看出来,在 系统的/tmp新建个dbasky目录,在目录中记录了所有的登陆过系统的用户和IP地址,是不是觉得很方便 呢?我们还可以用这个方法来监测系统的安全性。
    www.2cto.com
    可以看到在使用history命令的时候是没时间显示,不知道这个命令是什么时候所执行,这个时候可以编辑/etc/bashrc文件,加入如下三行:

    HISTFILESIZE=2000
    HISTSIZE=2000
    HISTTIMEFORMAT=”%Y%m%d-%H%M%S: ”
    export HISTTIMEFORMAT

    保存后退出,关闭当前shell,并重新登录
    这个时候,在~/.bash_History文件中,就有记录命令执行的时间了

    展开全文
  • history可以查看历史操作记录

    history可以查看历史操作记录

    展开全文
  • Linux查看具体历史命令 # history | grep zabbix history 命令添加时间戳 echo ‘export HISTTIMEFORMAT="%F %T whoami "’ >> /etc/profile 注销,重新登录 993 2017-08-11 05:07:14 root exit 994 2017-08-11 04:...
  • LINUX 记录操作历史记录

    千次阅读 2016-02-26 10:50:36
    得到的结果,永久保存,每个用户的命令记录分目录保存 # ls -l /var/log/.hist/root/ -rw------- 1 root root 546 2006-05-26 10:00 218.82.245.54.hist.20060526_092458 -rw------- 1 root root 243 ...
  • LINUX-查看历史操作记录

    万次阅读 2019-08-16 10:38:05
    链接1:个人博客 链接2:个人博客 链接3:其他配置
  • mysql历史记录上可能留下了很多敏感信息,比如密码什么的,需及时清空历史记录,下面分享一下inux服务器清空MySQL的history历史记录的方法
  • linux下,mysql的每一步操作是会默认被记录到当前操作系统用户下的.mysql_history文件中去的。这个文件不会记录操作的时间,只记录操作命令,包括用户创建,授权,密码更改等,均是明文记录。一般情况下,出于安.....
  • Linux操作记录

    2013-11-24 14:36:26
    Linux操作记录
  • linux command保存在~/.bash_history一样,你用mysql连接MySQL server的所有操作也会被记录到~/.mysql_history文件中,这样就会有很大的安全风险了,如添加MySQL用户的sql也同样会被明文记录到此文件中。...
  • 由于刚开始学习linux,对命令行不熟悉,可以查看使用过的命令行历史记录,熟悉命令行并熟练操作,对命令行进行深入地理解。 系统环境 OS:ubuntu16.04. 操作过程 在主文件夹目录即home目录,按快捷键Ctrl+H(显示...
  • linux删除历史操作命令

    万次阅读 2018-09-03 14:52:30
    linux系统里一旦操作了任何命令,都会被记录下来,可以通过history命令来查看历史命令,  查看手册可知history -c 便是清除历史命令,但是重新进入系统查看历史命令时,历史信息依然会存在,  那么history -c ...
  • 主要介绍了在 Linux 下面可以使用 history 命令查看用户的所有历史操作的一些详细配置小技巧,非常的简单实用,有需要的朋友可以参考下
  • linux查看完整历史记录

    万次阅读 2019-03-06 13:36:51
    1.命令history,但是如果及时记录很多,终端无法显示全。这是需要第二种方法解决。 2.在用户家目录下有一个隐藏文件.bash_history,查看它即可
  • 如何清除Linux操作系统命令的历史记录 步骤如下:  1、建立一个文件来存储常用命令,例如/root/history.txt,把常用命令当成文本写进去,每个命令占一行  2、在终端运行history -c,清除杂乱的历史记录
  • linux shell 历史命令记录功能

    千次阅读 2015-12-09 13:32:08
    Linux 下面可以使用 history 命令查看用户的所有历史操作,同时 shell 命令操作记录默认保存在用户目录的.bash_history 文件中。通过这个文件可以查询 shell 命令的执行历史,有助于运维人员进行系统审计和...
  • Linux 系统添加操作记录审计

    千次阅读 2017-11-17 16:33:21
    Linux 系统添加操作记录审计

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 84,816
精华内容 33,926
关键字:

linux查询历史操作记录

linux 订阅