利用SHELL的PROMPT_COMMAND添加日志审计功能,实

2017-10-24  本文已影响0人  hy007x

利用 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

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

上一篇下一篇

猜你喜欢

热点阅读