admin管理员组文章数量:1130349
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
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
版权声明:本文标题:linux prompt模式,Linux利用PROMPT_COMMAND实现操作记录的功能 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://it.en369.cn/jiaocheng/1763934121a2972775.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论