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


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

  • 相关阅读:
    C#学习三之几个关键字Static,ref&out,get&set,readonly
    C#学习二之浅析var类型和enum枚举类型
    C#学习一之HelloWorld
    泛型(二)
    泛型(一)
    JavaScript 使用
    JavaScript
    C# 自定义控件制作和使用实例(winform)
    ThinkPHP 参数绑定原理
    处理jQuery append加入的元素 绑定事件无效的方法
  • 原文地址:https://www.cnblogs.com/hy007x/p/7724897.html
Copyright © 2011-2022 走看看