Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1828403
  • 博文数量: 286
  • 博客积分: 3713
  • 博客等级: 少校
  • 技术积分: 2275
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-11 09:47
个人简介

http://blog.chinaunix.net/uid/16979052.html

文章分类

全部博文(286)

文章存档

2018年(1)

2017年(16)

2016年(9)

2015年(17)

2014年(15)

2013年(112)

2012年(116)

分类: LINUX

2014-09-09 10:36:17

简介

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

阅读(5797) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~