Linux:history命令记录操作时间、操作用户、操作IP

【步骤】

1、/etc/profile文件中加入以下内容

2、执行:source /etc/profile

【效果】

 1 export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
 2 echo ‘export HISTTIMEFORMAT="%F %T `whoami` "‘
 3 USER_IP=`who -u am i 2>/dev/null| awk ‘{print $NF}‘|sed -e ‘s/[()]//g‘`
 4 xport HISTTIMEFORMAT="[%F %T][`whoami`][${USER_IP}] "
 5
 6 USER_IP=`who -u am i 2>/dev/null| awk ‘{print $NF}‘|sed -e ‘s/[()]//g‘`
 7 export HISTTIMEFORMAT="[%F %T][`whoami`][${USER_IP}] "
 8 #history
 9 LOGIP=`who -u am i 2>/dev/null| awk ‘{print $NF}‘|sed -e ‘s/[()]//g‘`
10 LOG_DIR=/var/log/history
11 if [ -z $LOGIP ]
12 then
13 LOGIP=`hostname`
14 fi
15 if [ ! -d $LOG_DIR ]
16 then
17 mkdir -p $LOG_DIR
18 chmod 777 $LOG_DIR
19 fi
20 if [ ! -d $LOG_DIR/${LOGNAME} ]
21 then
22 mkdir -p $LOG_DIR/${LOGNAME}
23 chmod 777 $LOG_DIR/${LOGNAME}
24 fi
25 export HISTSIZE=4096
26 LOGTM=`date +"%Y%m%d_%H%M%S"`
27 export HISTFILE="$LOG_DIR/${LOGNAME}/${LOGIP}-$LOGTM"
28 chmod 777 $LOG_DIR/${LOGNAME}/*-* 2>/dev/null 
时间: 2024-08-10 15:02:37

Linux:history命令记录操作时间、操作用户、操作IP的相关文章

让history命令显示出执行用户、执行时间、执行用户IP

因为之前遇到过命令审计,找不出某条命令是由哪个用户执行的,所以需要让history命令显示出执行用户.执行时间.执行用户IP,以便追踪. 在/etc/profile文件最后加两行: USER_IP=`who -u -m | awk '{print $NF}'| sed 's/[()]//g'` export HISTTIMEFORMAT="[%F %T][`whoami`][${USER_IP}] " 执行命令 source /etc/profile 随便敲几条命令 查看效果 1047

Linux history命令详解

  history命令用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件. 该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号!执行指定序号的历史命令. 历史命令是被保存在内存中的,当退出或者登录shell时,会自动保存或读取.在内存中,历史命令仅能够存储1000条历史命令,该数量是由环境变量HISTSIZE进行控制 history常见命令参数 -c:清空当前历史命令: -a:将历史命令缓冲区中命令写入历史命令文件[/root/.b

让linux的history命令显示操作时间

很多人都会用到history这个命令,这个命令的意思就是列出来当前用户的所有操作(默认如此),但是很多发行版的默认的history是没有用户和操作时间的,这个对于需要查看原来的操作内容的时候就提供了麻烦,man 了下history,发现有个变量是可以设定history这个显示格式的,这个变量就是HISTTIMEFORMAT 只要执行下面命令: export HISTTIMEFORMAT="`whoami` : |  %F  | %T: | " 然后就可以看到带有用户和时间的histor

Linux基础命令之文件和目录操作(二)

. find 用于查找目录下的文件,也可以调用其他命令使用 find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression] find [选项] [路径][操作语句] options: -depth # 在指定目录下最深层的子目录开始查找 -maxdept levels # 查找最大目录级数,levels为自然数 -regextype type # 正则表达式类型,默认是emacs, tests: -mtime [-n|n|+

【Linux常用命令】文件和目录操作(一)

ls命令 ls命令用来显示目标列表,在Linux中是使用率较高的命令.ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件. 语法 ls(选项)(参数) 选项 -a:显示所有档案及目录(ls内定将档案名或目录名称为"."的视为影藏,不会列出): -A:显示除影藏文件"."和".."以外的所有文件列表: -C:多列显示输出结果.这是默认选项: -l:与"-C"选项功能相反,所有输出信息用单列格式输出,不输出为多列: -F

Linux history命令

echo $HISTSIZE    #显示命令历史缓存条目数量 history -c        #清除命令历史记录 history 其它使用技巧: ![字母]         #执行匹配该字母的最近使用的命令. !!             #执行上一条命令 !$             #引用上一个命令的最后一个参数 给history:操作历史记录 添加日期.执行的用户等信息: echo 'HISTTIMEFORMAT="%F  %T  `whoami` "' >> 

history命令追查登录的用户和时间

Linux查看History记录加时间,这个对于系统管理员还是很有帮助的,原因不解释,你懂得!ora11g$ history  |  more  1    rlwrap sqlplus / as sysdba2    rlwrap sqlplus / as sysdba3    date4    rlwrap sqlplus / as sysdba  但是这里只显示了命令,并没有显示执行命令的时间,因为保存历史命令的~/.bash_history里并没有保存时间. 通过设置环境变量 export

Linux find命令记录

1.命令格式:          find pathname -options  [-print -exec ...] 2.命令参数:          pathname : 查找的目录路径.例如:./表示当前目录,/表示系统根目录.          -print :将匹配的文件输出到标准输出.           -exec :对前边匹配的文件执行该参数所给出的shell命令.相应命令的形式为'command' {  } \;,注意{   }和\:之间的空格.   3.命令选项(option

linux history命令优化

主要功能: 1, 可以记录哪个ip和时间(精确到秒)以及哪个用户,作了哪些命令 2,最大日志记录增加到4096条 把下面的代码直接粘贴到/etc/profile后面就可以了 #history modify export HISTTIMEFORMAT="[%Y.%m.%d %H:%M:%S-$USER_IP-$USER]" USER_IP=`who -u am i &>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` if [