zoukankan      html  css  js  c++  java
  • 利用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


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

  • 相关阅读:
    tensorflow 学习
    join-semi and join-anti
    深入拆解Tomcat_Jetty 笔记
    Set化
    DDD实战-笔记
    高并发系统设计-笔记
    技术管理
    性能调优-笔记
    程序员是如何思考的-笔记
    LeetCode
  • 原文地址:https://www.cnblogs.com/hy007x/p/7724897.html
Copyright © 2011-2022 走看看