跳到主要内容

15、history

history

案例:Linux将命令行执行的命令记录到日志文件中便于审计使用

默认:

[root@linux ~]#echo  $PROMPT_COMMAND
printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"
[root@linux ~]#

image-20240405171946001

方法:

1。编辑/etc/bashrc文件
vim /etc/bashrc
# 在此文件的最后一行加入如下内容
export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[hostname:$(hostname)]": "[uid=$(who am i)]": [`pwd`]: "$msg"; }'

# 保存退出

2.重新加载下bashrc
source /etc/bashrc

3.查看配置结果
# 在执行如下指令之前,可以随意执行几个命令,以便显示效果
ls
date
pwd

tail -f /var/log/messages

代码汇总:

cat >> /etc/profile <<EOF
export PROMPT_COMMAND='{ msg=\$(history 1 | { read x y; echo \$y; });logger "[hostname:\$(hostname)]": "[uid=\$(who am i)]": [`pwd`]: "\$msg"; }'
EOF

source /etc/profile

效果:

image-20240405170440932