工作中,需要把用户执行的每一个命令都记录下来,并发送到日志服务器的需求,为此我做了一个简单的解决方案。这个方案会在每个用户退出登录 时把用户所执行的每一个命令都发送给日志守护进程rsyslogd,你也可通过配置“/etc/rsyslog.conf”进一步将日志发送给日志服务器
第一种方法
export HISTTIMEFORMAT="[%Y-%m-%d %H:%M:%S] [` who am i 2>/dev/null| \
|
awk '{print $NF}' | sed -e 's/[()]//g' `] "
|
if [ -z "$OLD_PWD" ]; then
|
if [ ! -z "$LAST_CMD" ] && [ "$(history 1)" != "$LAST_CMD" ]; then
|
logger -t ` whoami `_shell_cmd "[$OLD_PWD]$(history 1)" ;
|
export LAST_CMD= "$(history 1)" ;
|
第二种方法
第一步:全局设置(这是一次性设置,需要root用户权限)
# vi /etc/profile
#用户登录时执行此脚本
#设置history显示格式
export HISTTIMEFORMAT="[%Y-%m-%d %H:%M:%S] [`who am i 2>/dev/null\
| awk '{print $NF}'|sed -e 's/[()]//g'`] "
#登录时清空当前缓存 echo "" > .bash_history
第二步:不同用户分别设置
tmpfile= "/tmp/`whoami`_history.tmp"
|
logger -t ` whoami `_shell_cmd "$line"
|
(如果还有其它用户需要监控,则重复第二步骤)
第三步:把日志发送给远程主机(可选)
不足之处:
1. 不能实时记录命令并发送log
2. 要记录终端桌面下的命令需要重启。
=========
history记录日志
相关推荐
如何让linux的 history命令显示时间记录如何让linux的 history命令显示时间记录
Linux基础课件Linux系统历史命令history命令共10页.pdf.zip
所有用户执行的命令实时保存在一个文件中,文件内容如下: 2016-03-01 17:34:42 ##### USER:root IP:172.16.50.146 8160 22 PS:/dev/pts/1 ppid=2037 pwd=/root #### wget ...
Linux查看History记录加时间戳小技巧 熟悉bash的都一定知道使用history可以输出你曾经输入过的历史命令,例如 [root@servyou_web ~]# history | more 6 ./test.sh 7 vim test.sh 8 ./test.sh 但是这里只显示了...
linux系统history记录保存用户操作日志,登陆时间,防止会话退出时覆盖 以下是代码: #说明: /etc/profile 中结尾添加如果下指令 #保存并执行如下使之生效:source /etc/profile #history #HISTFILESIZE:表示文件的...
SAP系统,默认情况下只能查看用户的上次登录记录, 但之前的登录并不会进行记录。本文介绍了如何设置审计参数文件,并利用审计日志来查看用户在某段时间内的登录情况。
汇总部分history用法,其中包括输入带时间格式history内容,以及history中保存的命令的再次调用的方法等等
这时我们就需要对history进行一些配置,让它报告命令执行的具体时间。 history [选项] [历史命令保存文件] history : 打印历史命令 选项: -c : 清空历史命令 -w : 把缓存中的命令写入历史命令保存文件~/.bash_...
shell-history, 获取用户的shell的命令历史记录 壳历史 获取用户 shell的命令历史。安装$ npm install --save shell-history用法const shellHistory = require('shell-history'
at ip time 程序名(或一个命令) /r 在某时间运行对方某程序并重新启动计算机 finger username @host 查看最近有哪些用户登陆 telnet ip 端口 远和登陆服务器,默认端口为23 open ip 连接到IP(属telnet登陆后的...
eg: history //可以显示用户过去使用的命令 17. !! 执行最近一次的命令 18. mkdir命令 eg: mkdir netseek //创建netseek这个目录 19. tar 解压命令 eg: tar -zxvf nmap-3.45.tgz //将这个解压到nmap-3.45这个...
如何清除Linux操作系统命令的历史记录 步骤如下: 1、建立一个文件来存储常用命令,例如/root/history.txt,把常用命令当成文本写进去,每个命令占一行 2、在终端运行history -c,清除杂乱的历史记录
GNULinux Distribution Timeline和The history of Linux两张图,清晰说明了Linux发行版本的变迁和Linux的历史
Linux操作系统基础
linux下history(历史)命令用法详解.docx
Linux系统下可通过history命令查看用户所有的历史操作记录,在安全应急响应中起着非常重要的作用,但在未进行附加配置情况下,history命令只能查看用户历史操作记录,并不能区分用户以及操作时间,不便于审计分析。
Linux系统下可通过history命令查看用户所有的历史操作记录,在安全应急响应中起着非常重要的作用,但在未进行附加配置情况下,history命令只能查看用户历史操作记录,并不能区分用户以及操作时间,不便于审计分析。
在 Linux 下面可以使用 history 命令查看用户的所有历史操作,同时 shell 命令操作记录默认保存在用户目录的 .bash_history 文件中。通过这个文件可以查询 shell 命令的执行历史,有助于运维人员进行系统审计和问题...
history命令用于显示用户以前执行过的历史命令,并且能对历史命令进行追加和删除等操作。 如果你经常使用Linux命令,那么使用history命令可以有效地提升你的效率。 语法格式: history [参数] [目录] 常用参数: ...
企业日志分析之linux系统history收集展示.docx