• 记录linux登录与操作日志


    一般我们可以用history命令来查看用户的操作记录,但是这个命令不能记录是哪个用户登录操作的,也不能记录详细的操作时间,且不完整;所以误操作而造成重要的数据丢失,就很难查到是谁操作的。

    在这里我们通过脚本代码来实现记录所以用户的登录操作日志:

    编辑/etc/profile文件,在文件末尾加入下面代码:
    [root@telecom225 /]# vi /etc/profile

    history
    USER=whoami
    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 /var/log/history ]; then mkdir /var/log/history chmod 777 /var/log/history fi if [ ! -d /var/log/history/){LOGNAME} ]; then
    mkdir /var/log/history/({LOGNAME} chmod 300 /var/log/history/){LOGNAME}
    fi
    export HISTSIZE=4096
    DT=date +"%Y%m%d_%H:%M:%S"
    export HISTFILE="/var/log/history/({LOGNAME}/){USER}@({USER_IP}_)DT"
    chmod 600 /var/log/history/${LOGNAME}/history 2>/dev/null
    注释: /var/log/history这是记录日志的存放位置,可以自定义。

    在/var/log/history下会以每个用户为名新建一个文件夹,
    [root@telecom225 /]# cd /var/log/history/

    [root@telecom225 history]# ll
    total 20
    d-wx------ 2 test dennishan 4096 Jul 4 12:06 test
    d-wx------ 2 jerryhe jerryhe 4096 Jul 4 14:12 jerryhe
    每次用户退出后都会产生以用户名、登录IP、时间的文件,里面包含此用户本次的所以操作

    [root@telecom225 history]# cd jerryhe/
    [root@telecom225 jerryhe]# ls
    jerryhe@180.173.188.252_20130626_14:59:51

  • 相关阅读:
    Kibana: missing authentication credentials for REST request
    MySQL命令速记
    VIM常用命令简记
    Linux常用命令简记
    袁永福的C#编程书籍,电子工业出版社出版。
    发布DCWriter电子病历文本编辑器
    袁永福的博客系列文章链接集合
    ssh隧道 的命令行和 sshd 服务的配置(gatePort)
    PureMVC(AS3)剖析:设计模式(二)
    Python应用与实践
  • 原文地址:https://www.cnblogs.com/lz0925/p/12409341.html
Copyright © 2020-2023  润新知