4000-9696-28

Linux利用PROMPT_COMMAND实现操作记录的功能

2013年12月13日 14:53供稿中心:北大青鸟总部

摘要: Linux利用PROMPT_COMMAND实现操作记录的功能

Linux中的PROMPT_COMMAND会记录下出现提示符前面的命令,利用这个特性可以实现记录所有用户的操作记录。

root用户身份下,进行以下操作

vi /etc/profile
  
   
#在最后一行追加以下环境变量
export HISTORY_FILE=/var/log/`date '+%y-%m-%d'`.log
export PROMPT_COMMAND='{ date "+%y-%m-%d %T ##### $(who am i |awk "{print \$1\" \"\$2\" \"\$5}") #### $(pwd) #### $(history 1 | { read x cmd; echo "$cmd"; })"; } >> $HISTORY_FILE'
    
#保存并重新编译
source /etc/profile

上面的和网上其它博客中的内容类似,但是仔细思考一下,还是存在几个问题

1. 首先root用户创建的HISTORY_FILE默认情况下只有root用户有rw权限,其它用户只有r的权限,这就导致其它用户的操作记录无法写入,需要将HISTORY_FILE赋予所有的读写权限

2. export PROMPT_COMMAND 如果将PROMPT_COMMAND导出到用户工作区,那么对于有经验的用户就可以做赋值操作 export PROMPT_COMMAND =“” ,简单的语法就会导致记录功能当前session端不可用,所以PROMPT_COMMAND必须设置成只读的属性,readonly PROMPT_COMMAND


关于我们
公司简介
发展历程
青鸟荣誉
联系我们
加入我们
青鸟课程
BCVE视频特效课程
BCUI全链路UI设计
BCSP软件开发专业课程
BCNT网络工程师
启蒙星IT工程师基础课程
学习客户端下载
青鸟优师
青鸟云课堂
微信 公众号 咨询 顶部 首页
官方新版意见收集

*

官方新版意见收集

提交成功,感谢您的反馈。

我们会认真阅读和考虑每个用户的反馈。