精华内容
下载资源
问答
  • Linux记录操作日志

    万次阅读 2019-03-15 21:46:37
    history命令可以查看最近1000条命令。...history日志文件默认是保存在.bash_history文件下。 history命令默认是没有时间的,可以在/etc/bashrc文件下追加以下: HISTFILESIZE=2000 HISTSIZE=2000 HISTT...

    history命令可以查看最近1000条命令。
    调整history命令的大小:

    vi /etc/profile
    HISTSIZE=1000  #改为
    history日志文件默认是保存在.bash_history文件下。


    history命令默认是没有时间的,可以在/etc/bashrc文件下追加以下:

    HISTFILESIZE=2000     
    HISTSIZE=2000 
    HISTTIMEFORMAT="%Y/%m/%d  %H:%M:%S:" 
    export HISTTIMEFORMAT


    记录每个用户登录一直到退出操作的命令,保存在/var/log/history目录下:
    在/etc/profile文件下追加以下内容:
     第一个脚本:(带时间戳)

    USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
    HISTDIR=/var/log/.history
    if [ -z $USER_IP ]
    then
    USER_IP=`hostname`
    fi
    
    if [ ! -d $HISTDIR ]
    then
    mkdir -p $HISTDIR
    chmod 777 $HISTDIR
    fi
    
    if [ ! -d $HISTDIR/${LOGNAME} ]
    then
    mkdir -p $HISTDIR/${LOGNAME}
    chmod 300 $HISTDIR/${LOGNAME}
    fi
    
    expor
    展开全文
  • linux记录用户登录操作日志.日志分析 每次用户退出后都会产生以用户名、登录IP、时间的日志文件,包含此用户本次的所有操作(root用户除外)
  • 本文档使用了两种方法来记录liunx登录用户的详细操作,综合了使用scripts 以及脚本的方法,很实用,已在实际环境中使用!
  • Linux服务器记录并查询历史操作记录

    万次阅读 2017-08-01 17:31:21
    因此,监控Linux服务器的操作记录下来,是非常有必要的! history是查询当前连接所操作的命令,通过编写以下内容添加至/etc/profile的原有内容之后,将每个连接的操作都进行记录,并保存在特定位置。 vi /etc/...

    Linux服务器在使用过程中,经常会有除自己之外的其他人员使用。并不是每个人都对Linux服务器特别熟悉,难免会有一些操作导致服务器报错。

    因此,监控Linux服务器的操作并记录下来,是非常有必要的!

    history是查询当前连接所操作的命令,通过编写以下内容添加至/etc/profile的原有内容之后,将每个连接的操作都进行记录,并保存在特定位置。

    vi /etc/profile

    添加内容如下:

    #history record
    history
    RQ=`date "+%Y%m%d"`
    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/record ]
    then
    mkdir /tmp/record
    chmod 777 /tmp/record
    fi
    if [ ! -d /tmp/record/${LOGNAME}/${RQ} ]
    then
    mkdir -p /tmp/record/${LOGNAME}/${RQ}
    chmod 300 /tmp/record/${LOGNAME}/${RQ}
    fi
    export HISTSIZE=8192
    SJ=`date "+%H:%M:%S"`
    export HISTFILE="/tmp/record/${LOGNAME}/${RQ}/${USER_IP}@${LOGNAME}.$SJ"
    chmod 600 /tmp/record/${LOGNAME}/*record* 2>/dev/null

    然后保存并退出,执行以下命令,使得编写的配置生效。

    source /etc/profile

    将操作记录保存在/tmp/record/用户名/日期/登录IP@用户名.时间,

    例如:/tmp/record/root/20170801/192.168.108.140@root.16:02:41

    历史操作命令已经记录在上述文件中,可以直接查看。

    但是为了查询方便,可以再编写一个查询的脚本。使用root用户登录,创建bin文件夹,命令如下:

    mkdir /root/bin

    创建查询脚本record:

    vi /root/bin/record

    添加以下内容:

    #!/bin/sh
    user=${LOGNAME}
    time=`date +%Y%m%d`
    ip=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
    
    while [ $# -gt 0 ]
    do
            case $1 in
            -u|--user) user=$2;
                       shift 2;
                       ;;
            -t|--time) time=$2;
                       shift 2;
                       ;;
            -p|--ip)  ip=$2;
                       shift 2;
                       ;;
            -l|--list)
                      export HISTFILE="/tmp/record/$user/$time";
                      echo $HISTFILE;
                      ls $HISTFILE;
                      exit 0;
                      ;;
            *)
                    echo "usage: record [ -u|-t|-p|-t| --user|--time|--ip|--list]
                    -u --user:      username;
                    -t --time:      The date required to query;
                    -p --ip:        Query the IP ;
                    -l --list:      Show the list of record files.
            Notice:
                    -l --list:      This parameter must be used as the last parameter,
                                    and only the display of the file path,
                                    not the file contents."
                    exit 0;
         ;;
     esac
    done
    
    export HISTFILE="/tmp/record/$user/$time"
    echo Path: $HISTFILE/ | tr -d '\n'
    ls $HISTFILE | grep $ip
    #export RecordFile="$HISTFILE/$ip*"
    #echo Contents:
    #cat $RecordFile


    保存并退出,使用root用户在任意目录下面都可以使用record命令进行查询历史操作记录。

    注:只有当连接退出之后,才会保存操作记录。不指定参数的话,会使用当前连接的默认参数!

    具体参数使用情况如下:



    默认查询(查询当前用户,当前IP的历史连接的操作记录)

    record

    将执行相应命令显示出来文件,进行打开,即可查看。(此处我已进行修改,除了l或者list参数以外,可以自动展示出来历史记录。由于历史操作太多,暂时进行注释。)


    本人能力一般,希望大家多多指教!

    展开全文
  • 每次用户登录到退出都会产生以用户名、登录ip地址、操作时间为文件名的文件,文件里面包含本次用户的所有操作记录

    1、起因

     

    最近Linux服务器上一些文件呗篡改,想追查已经查不到记录了,所以得想个办法记录下所有用户的操作记录。

     

    一般大家通常会采用history来记录,但是history有个缺陷就是默认是1000行,当然你也可以vim /etc/profile将1000修改成1000000行,但是这只是比较笼统的做法,看不到详细的用户来源已经操作记录,比如来源ip地址、操作时间、操作用户等。

     

    所以我们不得不自己写代码来实现这样的功能。

     

    2、自动记录脚本

    编写脚本如下:

    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

     

    这个脚本需要放在/etc/profile文件的末尾。这里默认写了记录日志文件的根目录是:/var/log/history,这个目录需要初始化建立,然后通过“exportHISTFILE="/var/log/history/${LOGNAME}/${USER}@${USER_IP}_$DT"

    ”可以看到记录日志的路径是/var/log/history/${LOGNAME},所以这个目录也需要事先建立,有多少个用户,就要建立多少个目录,而且要把目录的使用权限赋予相对应的用户。

     

    而每次用户登录到退出都会产生以用户名、登录ip地址、操作时间为文件名的文件,文件里面包含本次用户的所有操作记录。

     

    3、建立初始化目录

    先去/home查看有多少个用户

    [root@azure_test_static1_11_35 history]# ll

    total 28

    drwxr-xr-x 2 adminuser adminuser 4096 Nov 17 21:53 adminuser

    drwxr-xr-x 2 fastdfs   fastdfs   4096 Nov 17 21:53 fastdfs

    drwxr-xr-x 2 loguser   loguser   4096 Nov 17 19:43 loguser

    drwxr-xr-x 2 nginx     nginx     4096 Nov 17 20:54 nginx

    d-wx------ 2 root      root      4096 Nov 17 21:53 root

    drwxr-xr-x 2 tomcat    tomcat    4096 Nov 17 19:42 tomcat

    drwxr-xr-x 2 zabbix    zabbix    4096 Nov 17 19:42 zabbix

    [root@azure_test_static1_11_35 history]#

     

     

    然后开始建立初始化目录

    [root@azure_test_static1_11_35 log]# mkdir /var/log/history/fastdfs

    [root@azure_test_static1_11_35 history]# chown fastdfs:fastdfs fastdfs -R

    [root@azure_test_static1_11_35 log]# mkdir /var/log/history/tomcat

    [root@azure_test_static1_11_35 log]# chown -R tomcat:tomcat /var/log/history/tomcat

    [root@azure_test_static1_11_35 log]# mkdir /var/log/history/zabbix

    [root@azure_test_static1_11_35 log]# chown -R zabbix:zabbix /var/log/history/zabbix

    [root@azure_test_static1_11_35 log]# mkdir /var/log/history/loguser

    [root@azure_test_static1_11_35 log]# chown -R loguser:loguser /var/log/history/loguser

    [root@azure_test_static1_11_35 log]# mkdir /var/log/history/adminuser

    [root@azure_test_static1_11_35 log]# chown -R adminuser:adminuser /var/log/history/adminuser    

     

     

     

     

    4、用户登录验证

    用其中一个用户fastdfs登录进程操作

    [adminuser@azure_test_static1_11_35 ~]$ sudo -i

    [sudo] password for adminuser:

    [root@azure_test_static1_11_35 ~]# su - fastdfs

    [fastdfs@azure_test_static1_11_35 ~]$ cp test1.log test3.log

    [fastdfs@azure_test_static1_11_35 ~]$ echo "test 1"> test3.log

    [fastdfs@azure_test_static1_11_35 ~]$ echo "1" >> test3.log

    [fastdfs@azure_test_static1_11_35 ~]$ echo "2" >> test3.log

    [fastdfs@azure_test_static1_11_35 ~]$ echo "3" >> test3.log

    [fastdfs@azure_test_static1_11_35 ~]$ more test3.log

    test 1

    1

    2

    3

    [fastdfs@azure_test_static1_11_35 ~]$

     

    然后退出用户,重新登录进去日志目录/var/log/history/fastdfs/查看有最新的记录,一次用户登录到退出就会保存成一个日志文件记录:

    # 进入日志目录

    [root@azure_test_static1_11_35 fastdfs]# cd /var/log/history/fastdfs/

    # 查看有2个操作日志记录

    [root@azure_test_static1_11_35 fastdfs]# ll

    total 8

    -rw------- 1 fastdfs fastdfs  83 Nov 17 21:53 fastdfs@192.168.120.103_20161117_21:53:16

    -rw------- 1 fastdfs fastdfs 139 Nov 17 21:59 fastdfs@192.168.120.103_20161117_21:56:47

    # 打开当前的操作记录日志

    [root@azure_test_static1_11_35 fastdfs]# more fastdfs@192.168.120.103_20161117_21:56:47

    cp test1.log test3.log

    echo "test 1"> test3.log

    echo "1" >> test3.log

    echo "2" >> test3.log

    echo "3" >> test3.log

    more test3.log

    exit

    [root@azure_test_static1_11_35 fastdfs]#

     

     

    PS:可以看到记录的日志和我们的实际操作保持一致。证明我们要的功能实现了。

     

    参考文章:http://www.heminjie.com/system/linux/412.html

    展开全文
  • linux 开启操作日志记录

    千次阅读 2020-06-01 13:12:04
    1,修改/etc/profile文件 [root@CentOS7-2 ~]# vim + /etc/profile //追加如下内容 history USER=`whoami` USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` if [ "$USER_IP" = "" ]...

    1,修改/etc/profile文件

    [root@CentOS7-2 ~]# vim + /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
    

    2,使/etc/profile生效

    [root@CentOS7-2 ~]# source /etc/profile
    

    3,查看

    [root@CentOS7-2 ~]# ll /var/log/history/
    total 0
    d-wx------ 2 root root 6 Jun  1 13:02 root
    
    展开全文
  • Linux操作记录

    2013-11-24 14:36:26
    Linux操作记录
  • 前言 对于Linux系统安全来说,日志文件是极其重要的工具。...下面就对logrotate日志轮转操作做一梳理记录: 1)配置文件介绍 Linux系统默认安装logrotate工具,它默认的配置文件在: /etc/logrotate
  • linux操作日志添加时间记录

    千次阅读 2019-01-04 20:31:46
    执行: vi /etc/bashrc 在后面加入如下三行: HISTFILESIZE=2000 HISTSIZE=2000 HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S " export HISTTIMEFORMAT ... 75 2019-01-05 04:24:58 vi /etc...
  • linux 日志查看及操作

    万次阅读 2018-11-16 11:00:20
    日志查看 1、进入日志文件所在的文件目录,比如: cd /opt/tomcat7/logs 2、通过命令打开日志,分析需求场景打开需要的日志 比如: tail -f catalina.out 3、常用命令一:tail 比如: tail -f test.log (循环...
  • 1.一般来说我们可以用history命令来查看用户的操作记录,但是这个命令不能记录是那个用户登录操作的,也不能记录详细的操作时间,并且不是完整的。所以误操作而造成重要的数据丢失就很难查到是谁操作的。 在这里我们...
  • linux操作命令日志 记录的方法

    千次阅读 2013-09-03 15:20:56
    linux终端下,为方便检查操作中可能出现的错误,以及避免屏幕滚屏的限制,我们可以把操作日志记录下来。常用的工具有screen,script,以及tee等。  1. screen — screen manager with VT100/ANSI terminal ...
  • Linux操作系统常用log日志

    千次阅读 2018-01-02 19:51:25
    Linux操作系统常用log日志 ...
  • 如何清除Linux操作系统命令的历史记录 步骤如下:  1、建立一个文件来存储常用命令,例如/root/history.txt,把常用命令当成文本写进去,每个命令占一行  2、在终端运行history -c,清除杂乱的历史记录
  • Linux记录SSH操作日志

    千次阅读 2013-07-26 18:35:36
    使用ssh登录管理主机时,为了方便后续查看操作日志,可将ssh操作时的命令及输出保存到指定的日志文件中。 SSH登录主机时可采用如下命令: [code="java"] ssh username@server | tee -a logfile.txt[/...
  • Linux远程工具日志记录功能

    千次阅读 2015-05-20 11:27:52
     最近在远程连接操作时,发现记录日志是个不错的习惯,可以记录下曾经的操作,为我们寻求曾经的错误或操作记录,提供了依据。 一、Xmanager-xshell日志记录 二、SecureCRT日志记录 三、Putty日志记录
  • 基于Honeynet系统的Linux日志记录研究.pdf
  • 一般来说我们可以用history命令来查看用户的操作记录,但是这个命令不能记录是那个用户登录操作的,也不能记录详细的操作时间,并且不是完整的。所以误操作而造成重要的数据丢失就很难查到是谁操作的。 在这里我们...
  • Linux日志记录问题

    2019-09-24 02:27:01
    查看/var/log/messages发现日志文件过大,然后做了如下操作 mv messages messages-xxxxxxxx touch messages chmod 600 messages 发现日志也不记录了。 问题解决 重启对应的服务 service rsyslog resta....
  • Linux下查看/管理当前登录用户及用户操作历史记录  一、查看及 管理 当前 登录用户 1、使用w命令查看登录用户正在使用的进程信息, w命令用于显示已经登录系统的用户的名称,以及他们正在做的事。该命令所...
  • 您可能感兴趣的文章:linux中 shell 历史命令记录功能用来记录登录后使用命令的shell脚本PowerShell小技巧之定时记录操作系统行为PowerShell时间记录脚本Powershell小技巧之记录脚本的操作Powershell小技巧之用变量...
  • Linux 查看登录日志

    万次阅读 多人点赞 2018-08-17 10:28:29
    日志文件永久记录每个用户登录、注销及系统的启动、停机的事件。因此随着系统正常运行时间的增加,该文件的大小也会越来越大, 增加的速度取决于系统用户登录的次数。该日志文件可以用来查看用户的登录记录, ...
  • 需求  将每台服务器上的每个用户执行的命令、执行时间、登录时间、主机ip、当前切换用户等信息保存到本地并实时传输至日志服务器进行异地保存。 IP hostname 角色 10.10.99.1 test1 rsyslog-server 10.10....
  • 查看linux shell历史操作日志

    千次阅读 2018-07-12 09:55:30
    修改/etc/profile配置文件添加 #history USER_IP=`who-u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` HISTDIR=/usr/share/.history if [ -z$USER_IP ] then USER_IP=`hostname` fi if ...
  • 1 Linux日志分析 日志Linux 安全结构中的一个重要内容,是提供攻击发生的唯一真实证据。Linux日志包括以下几类:登录时间日志子系统、进程统计日志子系统、错误日志子系统等。 登录时间日志子系统: 登录时间...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 189,500
精华内容 75,800
关键字:

linux操作记录日志

linux 订阅