使用PROMPT_COMMAND记录用户操作历史

6040阅读 0评论2014-09-09 sometimeixpub
分类:LINUX

简介

Linux Bash Shell提供了一个环境变量:PROMPT_COMMAND,这个变量是在BASH出现提示符前执行的命令。

本文介绍如何在BASH SHELL下使用 PROMPT_COMMAND

环境变量来记录用户的操作历史。

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记录用户操作历史

设置系统环境变量

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将记录信息统一管理到一个日志服务器进行统一处理和监控。

上一篇:分布式文件系统MFS、Ceph、GlusterFS、Lustre的比较
下一篇:Linux使用AoE存储