admin管理员组

文章数量:1666737

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

本文标签: 模式操作功能Linuxprompt