zoukankan      html  css  js  c++  java
  • 日志与审核

    系统日志:

    日志类型及存储位置?

    Linux常见的日志文件如下:

    1、/var/log/boot.log(自检过程)

    2、/var/log/cron (crontab守护进程crond所派生的子进程的动作)

    3、/var/log/maillog(发送到系统或从系统发出的电子邮件的活动)

    4、/var/log/syslog(它只记录警告信息,常常是系统出问题的信息,所以更应该关注改文件)

         要让系统生成syslog日志文件,在/etc/syslog.conf文件中加上: *.waming /var/log/syslog

         该日志文件能记录当用户登录时login记录下的错误口令、Sendmail的问题、su命令执行失败等信息

    5、/var/run/utmp(该日志文件需要使用lastlog命令查看)

    6、/var/log/wtmp(该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件)

    7、/var/run/utmp(该日志文件记录有关当前登录的每个用户的信息)

    8、/var/log/xferlog(该日志文件记录FTP会话,可以显示出用户向FTP服务器或从服务器拷贝了什么文件)

    详见

    如何查看日志?有哪些工具,如何使用?

    1、tail(用来查看文件的内容,如果值前面没有+或-,那么从文件末尾指定的单元号开始读取文件)

    参数: 
    tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ] 
    参数解释: 
    -f 该参数用于监视File文件增长。 
    -c Number 从 Number 字节位置读取指定文件 
    -n Number 从 Number 行位置读取指定文件。 
    -m Number 从 Number 多字节字符位置读取指定文件,比方你的文件假设包括中文字,假设指定-c参数,可能导致截断,但使用-m则会避免该问题。 
    -b Number 从 Number 表示的512字节块位置读取指定文件。 
    -k Number 从 Number 表示的1KB块位置读取指定文件。 
    File 指定操作的目标文件名称 
    上述命令中,都涉及到number,假设不指定,默认显示10行。Number前面可使用正负号,表示该偏移从顶部还是从尾部開始计算。 
    tail可运行文件一般在/usr/bin/以下。 
    实例:  
    1、tail -f filename  
    说明:监视filename文件的尾部内容(默认10行,相当于增加参数 -n 10),刷新显示在屏幕上。退出,按下CTRL+C。  
    
    2、tail -n 20 filename  
    说明:显示filename最后20行。  
    
    3、tail -r -n 10 filename  
    说明:逆序显示filename最后10行。

    2、head(head命令和tail命令就像他的名字一样浅显易懂,它是用来显示开头或者结尾某个数量的文字区块,head用来显示档案的开头至标准输出当中)

    参数:  -q 隐藏文件名

                -v 显示文件名

                -c 显示字节数

                -n 显示的行数

    3、sed(本身就是一个管道命令,主要是以行为单位进行处理,可以将数据进行替换、删除、新增、选取等特定工作)

    参数:  -n 使用安静(silent)模式。在一般的sed的用法中,所有来自STDIN的资料一般会被列出到荧幕上。但如果加上-n参数后,则只有经过sed特殊处理的那一行(或者动作)才会被列出来

                -p 列印,亦即将某个选择的资料印出。通常p会与参数sed-n一起运作

                -s 取代,可以直接进行取代的工作,通常这个s的动作可以搭配正规表示法

    4、cat

    cat主要有三大功能:  
    1.一次显示整个文件。$ cat filename  
    2.从键盘创建一个文件。$ cat > filename   
      只能创建新文件,不能编辑已有文件.  
    3.将几个文件合并为一个文件: $cat file1 file2 > file  
    
    参数:  
    -n 或 --number 由 1 开始对所有输出的行数编号  
    -b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号  
    -s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行  
    -v 或 --show-nonprinting 
    -E, –show-ends 在每行结束处显示 $
    -e 等价于-vE
    例:  
    把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里  
    cat -n textfile1 > textfile2  
    
    把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。  
    cat -b textfile1 textfile2 >> textfile3  
    
    把test.txt文件扔进垃圾箱,赋空值test.txt  
    cat /dev/null > /etc/test.txt   
    注意:>意思是创建,>>是追加。千万不要弄混了。

    5、grep(Global Regular Expression Print  一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。)

    grep [options]  
    主要参数:  
    [options]主要参数:  
    -c:只输出匹配行的计数。  
    -I:不区分大 小写(只适用于单字符)。  
    -h:查询多文件时不显示文件名。  
    -l:查询多文件时只输出包含匹配字符的文件名。  
    -n:显示匹配行及 行号。  
    -s:不显示不存在或无匹配文本的错误信息。  
    -v:显示不包含匹配文本的所有行。
    -A: 显示匹配行及前面多少行, 如: -A3, 则表示显示匹配行及前3行
    -B: 显示匹配行及后面多少行, 如: -B3, 则表示显示匹配行及后3行  
    pattern正则表达式主要参数:  
    : 忽略正则表达式中特殊字符的原有含义。  
    ^:匹配正则表达式的开始行。  
    $: 匹配正则表达式的结束行。  
    <:从匹配正则表达 式的行开始。  
    >:到匹配正则表达式的行结束。  
    [ ]:单个字符,如[A]即A符合要求 。  
    [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。  
    。:所有的单个字符。  
     - :有字符,长度可以为0。

    6、混合使用命令

    A.  tail web.2016-06-06.log -n 300 -f  
        查看底部即最新300条日志记录,并实时刷新      
    
    B.  grep 'nick' | tail web.2016-04-04.log -C 10   
        查看字符‘nick’前后10条日志记录, 大写C  
    
    C.  cat -n test.log |tail -n +92|head -n 20  
        tail -n +92表示查询92行之后的日志  
        head -n 20 则表示在前面的查询结果里再查前20条记录

    与日志记录的一些配置文件及配置项,分别表示什么含义?

    Linux系统日志以及分析

     Linux系统日志相关配置文件为/etc/syslog.conf

    syslog配置文件

    如何分析用户登录失败、SU失败的日志?

    操作记录:

    用户历史操作记录的存储位置?

     Linux系统下所有用户的操作信息

    如何查看用户历史操作?有哪些工具,如何使用?

     详情

  • 相关阅读:
    ssh速度慢
    ps -ef和ps aux的区别
    docker国内镜像加速
    pptpd的log整理
    docker入门2--生命周期
    docker入门1--简介、安装
    Cent7.2单用户模式
    shell中得到当下路径所有文件夹名称
    在centos 7下升级内核
    Mysql如何将一张表重复数据删除
  • 原文地址:https://www.cnblogs.com/Paranoid-4/p/9326202.html
Copyright © 2011-2022 走看看