公司动态
Linux 启用各用户命令执行记录日志(命令日志功能)
效果展示1.启用命令捕获功能vim /etc/profile #添加到最后一行 export PROMPT_COMMAND{ RETRN_VAL$?; LOG_CMD$(history 1 | { read x y; echo $y; }); logger -p local6.info [USER$(whoami)] [PID$$] [CMD$L OG_CMD] [RET$RETRN_VAL]; }代码通俗解释不用记了解即可PROMPT_COMMANDLinux 的 “命令钩子”用户每输一条命令它就自动触发一次RETRN_VAL$?记录命令执行结果0 成功非 0 失败LOG_CMD$(history 1 | { read x y; echo $y; })抓取用户刚执行的最后一条命令logger -p local6.info用 6 级别info 级记录日志[USER$(whoami)]记录执行命令的用户名[PID$$]记录命令的进程 ID[CMD$LOG_CMD]记录具体执行的命令[RET$RETRN_VAL]记录命令执行结果2.创建日志配置文件cd /etc/rsyslog.d/ vim command-log.conf local6.* /var/log/commands.log3.生效配置source /etc/profile systemctl restart rsyslog4.验证使用查看日志功能#随便敲几个命令模拟用户操作进行测试查看是否保存到日志当中cat /var/log/commands.log