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

来源:互联网 发布:旺旺id是淘宝会员名吗 编辑:程序博客网 时间:2024/05/09 16:42

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

 

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

vi /etc/profile #在最后一行追加以下环境变量export HISTORY_FILE=/var/log/`date '+%y-%m-%d'`.logexport 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

 

 

 

 

0 0
原创粉丝点击