利用SHELL的PROMPT_COMMAND添加日志审计功能,实时记录任何用户的操作到日志文件中

Posted 浆糊jun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用SHELL的PROMPT_COMMAND添加日志审计功能,实时记录任何用户的操作到日志文件中相关的知识,希望对你有一定的参考价值。

利用 PROMPT_COMMAND 实现命令审计功能:
记录什么用户,在什么时间,做了什么操作,然后将查到的信息记录到一个文件里。

 

具体操作:

将以下内容追加到/etc/profile:

#############日志审计
chmod +s /usr/bin/chmod &> /dev/null       #让普通用户能建立目录及文件
chmod +s /usr/bin/chown &> /dev/null       #让普通用户能建立目录及文件
mkdir -p /var/log/history/${LOGNAME}       #建立以用户名称命名的目录
chmod 777 /var/log/history &> /dev/null
chown -R ${LOGNAME}. /var/log/history/${LOGNAME} &> /dev/null
chmod 700 /var/log/history/${LOGNAME} &> /dev/null
export HISTORY_FILE=/var/log/history/${LOGNAME}/`date ‘+%Y-%m-%d_%T‘`.log &> /dev/null    #自定义日志文件路径及名称
export PROMPT_COMMAND=‘{ date +" $(who am i |awk "{print \$1\" \"\$2\" \"\$5}") $(history 1 | { read x cmd; echo "$cmd"; })"; } >> $HISTORY_FILE‘ &> /dev/null     #将命令追加到日志文件
chmod 600 /var/log/history/${LOGNAME}/* 2> /dev/null
chmod -s /usr/bin/chmod &> /dev/null       #取消普通用户授权
chmod -s /usr/bin/chown &> /dev/null       #取消普通用户授权

保存退出

source /etc/profile


如果没有报错说明成功了。














以上是关于利用SHELL的PROMPT_COMMAND添加日志审计功能,实时记录任何用户的操作到日志文件中的主要内容,如果未能解决你的问题,请参考以下文章

linux利用PROMPT_COMMAND实现命令审计

五周第四次课(1月11日) 8.6 管道符和作业控制 8.7/shell变量 8.8 shell变量 8.9 环境变量配置文件

五周第四次课(3月8日)

学习二十二

[linux运维] 利用zabbix监控linux高危命令并发送告警

Linux 环境变量PROMPT_COMMAND