在CentOS 7中,要将用户的历史命令记录至日志文件,可以按照以下步骤进行设置:

  1. 首先,登录到CentOS 7系统中的root账户或具有sudo权限的账户。
  2. 使用文本编辑器(例如nano、vim等)打开bash配置文件 /etc/bashrc,以下是使用vim编辑器的命令示例:

蓝易云服务器 - Centos7分用户记录历史命令至日志文件教程_vim

sudo vim /etc/bashrc
  • 1.
  1. 在打开的 /etc/bashrc文件中,定位到以下行:
# User specific aliases and functions
  • 1.
  1. 在该行下方添加以下代码,用于配置命令历史记录:
# 设置命令历史记录格式
export HISTTIMEFORMAT="%Y-%m-%d %T "

# 定义命令历史记录文件路径
export HISTFILE=/var/log/user_history.log

# 设置保存命令历史记录的条目数,此处设置为1000,你可以根据需要调整
export HISTSIZE=1000

# 设置保存命令历史记录的文件大小,此处设置为5000条,你可以根据需要调整
export HISTFILESIZE=5000

# 配置命令历史记录的高级选项,避免重复记录相同的连续命令
export HISTCONTROL=ignoredups:erasedups

# 配置不保存特定命令的历史记录,如以下示例中将忽略以空格开头的命令,你可以根据需要添加更多规则
export HISTIGNORE=' *'

# 设置终端关闭时仅保存最后一个会话的命令历史记录
shopt -s histappend
PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  1. 保存并关闭文件。在vim中可以按下 Esc键,然后输入 :wq,再按回车键。
  2. 接下来,创建用于保存命令历史记录的日志文件,并设置权限:
sudo touch /var/log/user_history.log
sudo chmod 644 /var/log/user_history.log
sudo chown root:root /var/log/user_history.log
  • 1.
  • 2.
  • 3.
  1. 重新加载bash配置,使更改生效:
source /etc/bashrc
  • 1.

现在,CentOS 7系统会将用户的历史命令记录至 /var/log/user_history.log文件中。每次用户退出登录时,命令历史记录会自动保存,而且不会重复记录相同的连续命令。这样可以更好地跟踪用户在系统中执行的命令操作。