查看命令行操作记录
命令行操作日志记录在系统history中。
查看执行命令的历史记录
当安装、升级、卸载Container Manager,或者通过Container Manager查询容器恢复进度等时,会将history中的历史命令记录保存到“~/.bash_history”文件中。所以,可以直接查看.bash_history文件即可找到命令行的记录。
历史命令会先缓存在内存中,只有当终端正常退出时才会写入“~/.bash_history”文件。执行以下命令可立即将内存中的历史记录写入.bash_history文件:
history -a
修改历史记录的保存数量
在Linux系统中,history命令一般默认保存最新的1000条命令。如果需要修改保存的命令数量,比如只保留200条历史命令,则可以在“/etc/profile”文件中修改HISTSIZE环境变量。修改方法如下:
修改完成之后需要执行source /etc/profile使环境变量生效。
修改历史命令文件时间戳
如果需要在历史命令文件中有时间戳记录(搭配用户、IP这些自定义信息),可以在“/etc/profile”中添加如下配置:
export HISTTIMEFORMAT="%F %T $USER_IP:`whoami` "
添加完成之后需要执行source /etc/profile命令使环境变量生效。添加时间戳之后,history命令结果如下所示:(示例中的ip为50.38.66.66,用户为root)
1 2 3 4 5 | 2025-12-02 20:44:34 50.38.66.66:root systemctl start container-manager.service 2025-12-02 20:44:34 50.38.66.66:root systemctl restart container-manager.timer 2025-12-02 20:44:34 50.38.66.66:root systemctl restart container-manager.service 2025-12-02 20:44:34 50.38.66.66:root systemctl status container-manager.service 2025-12-02 20:44:34 50.38.66.66:root systemctl status container-manager.service |
此外,如果需要将历史命令记录在自定义文件中,可以在“/etc/profile”中设置HISTFILE环境变量,设置完成之后执行source /etc/profile命令使环境变量生效。比如:
1 2 3 4 5 6 7 8 9 10 11 12 13 | HISTDIR=~/log/container-manager # 配置历史命令记录保存文件 HISTFILE="$HISTDIR/container-manager.log" mkdir -p $HISTDIR chmod 750 $HISTDIR touch $HISTFILE chmod 640 $HISTFILE USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` if [ -z $USER_IP ] then USER_IP=`hostname` fi export HISTTIMEFORMAT="%F %T $USER_IP:`whoami` " # history命令显示格式:时间、IP、用户名、执行命令 PROMPT_COMMAND=' { date "+%Y-%m-%d %T - $(history 1 | { read x cmd; echo "$cmd"; })"; } >> $HISTFILE' # 实时将history命令写到配置的文件里 |
其中日志文件路径为“~/log/container-manager”,请保证磁盘空间足够,日志文件设置权限为640。
父主题: 安全加固