http://blog.chinaunix.net/uid/16979052.html
全部博文(286)
分类: LINUX
2014-09-09 10:36:17
Linux Bash Shell提供了一个环境变量:PROMPT_COMMAND,这个变量是在BASH出现提示符前执行的命令。
本文介绍如何在BASH SHELL下使用 PROMPT_COMMAND
环境变量来记录用户的操作历史。
1.确定用户使用BASH SHELL
cat /etc/passwd
|
root:x:0:0:root:/root:/bin/bash
|
2.PROMPT_COMMAND示例
export PROMPT_COMMAND="date"
ls |
johnyin@yin-zh:~/tmp$ls
usr ks.cfg syslinux-4.02-4.el6.x86_64.rpm dir.sh rootfs.sh
2014年 08月 27日 星期三 13:02:26 CST
|
设置系统环境变量
PROMPT_COMMAND='msg=$(history 1 | { read x y; echo $y; });user=$(whoami); logger $(date "+%Y-%m-%d%H:%M:%S"):$user[$(who am i)]:`pwd`/:"$msg"' |
查看用户操作记录
root@target:~# tail -10 /var/log/messages |
…....................................
Aug 27 13:12:19 yin-zh johnyin: 2014-08-2713:12:19:root[johnyin pts/1 2014-08-27 12:53 (:0.0)]:/home/johnyin/johnyin/shell/:tail -10 /var/log/messages
r |
如果需要统一的记录和管理用户操作记录,可以结合rsyslog将记录信息统一管理到一个日志服务器进行统一处理和监控。