zoukankan      html  css  js  c++  java
  • Linux服务器--所有用户登陆操作命令审计

    Linux用户操作记录我们都可以通过命令history来查看历史记录,但是如果因为某人误操作了删除了重要的数据,那么Linux history命令就基本上不会有太大的作用了。我们怎么来查看Linux用户操作记录,有没有什么办法实现通过记录登陆后的IP地址和某用户名所操作的历史记录呢?答案:有的。

    第一步:

    通过在/etc/profile里最下面加入以下代码就可以实现:

    PS1="`whoami`@`hostname`:"'[$PWD]'
    
    history
    
    USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
    
    if [ "$USER_IP" = "" ]
    
    then
    
    USER_IP=`hostname`
    
    fi
    
    if [ ! -d /tmp/dbasky ]
    
    then
    
    mkdir /tmp/dbasky
    
    chmod 777 /tmp/dbasky
    
    fi
    
    if [ ! -d /tmp/dbasky/${LOGNAME} ]
    
    then
    
    mkdir /tmp/dbasky/${LOGNAME}
    
    chmod 300 /tmp/dbasky/${LOGNAME}
    
    fi
    
    export HISTSIZE=4096
    
    DT=`date "+%Y-%m-%d_%H:%M:%S"`
    
    export HISTFILE="/tmp/dbasky/${LOGNAME}/${USER_IP} dbasky.$DT"
    
    chmod 600 /tmp/dbasky/${LOGNAME}/*dbasky* 2>/dev/null

    保存文件,退出,输入source /etc/profile,让环境生效,或者退出终端,重新登录也可以。

    其实通过上面的代码不难看出来,在系统的/tmp新建个dbasky目录,在目录中记录了所有的登陆过系统的用户和IP地址,是不是觉得很方便呢?我们还可以用这个方法来监测系统的安全性。这是Linux用户操作记录的另一种查看方式。

  • 相关阅读:
    Decision Tree
    Bigtable:结构化数据的分布式存储系统
    堆排序分析及php实现
    PDO防sql注入原理分析
    memcached的key,value,过期时间的限制
    归并排序--详细解释版
    深入理解redis持久化
    strace追踪未开始或者来不及捕获pid的进程(译)
    php中session锁--如何防止阻塞请求(译)
    php多进程总结
  • 原文地址:https://www.cnblogs.com/liuyansheng/p/6519553.html
Copyright © 2011-2022 走看看