zoukankan      html  css  js  c++  java
  • Linux日志分析

    linux的日志文件可以说是最有用的了,日志文件可以让我们了解系统所处的状态,比如能查出哪些用户有登入,这也涉及相关的安全问题。

    日志分析

    1.了解日志文件

    linux的日志文件可以说是最有用的了,日志文件可以让我们了解系统所处的状态,比如能查出哪些用户有登入,这也涉及相关的安全问题。如果我们不懂得分析日志,可能我们都不知道有些用户曾经登入过我们的系统。另外系统出了什么问题,我们也要查看系统日志,比如我们经常会进入不了Xwindows,我们要查看系统日志类似XFree86.0.log等文件,再来详细的说一下,如果我们运行过系统显示属性方面的设置[理论上应该叫XFree86.setup],我以Redhat 8.0来说一下这个问题,当我们在终端或者虚拟控制台下运行redhat-config-xfree86时,我们就能在etc/var
    目录下发现一个XFree86.setup.log,这个文件记录着我们曾经设置过的内容以及详细的情况。

    2.日志文件所处的位置

    日志文件所处的位置都在/var/log目录下,前提是您没有对日志配置文件/etc/syslog.conf进行过特别的配制。

    3.日志文件的配置文件

    日志文件的配制文件,在/etc/syslog.conf,如果我们要修改日志配制文件,我们要首先要备份。这一点,是我们进行系统管理的首要任务。

    下面的命令是备份,我是以root权限操作的,使用root权限要小心,切记。

    [root@linuxsir01 root]# cp /etc/syslog.conf /etc/syslog.confBAK

    当我们把/etc/syslog.conf配制错了,但我们还记不清楚原来的系统文件是什么样的了。这时备份文件就有极大的作用了,我们就还原回去就OK了。我们还可以再来改动这个文件。

    [root@linuxsir01 root]# cp /etc/syslog.confBAK /etc/syslog.conf

    4.日志配制文件都有些什么?请看!我们可以用下面的命令来查看,比如more /etc/syslog.conf

    [root@linuxsir01 root]# more /etc/syslog.conf
    # Log all kernel messages to the console.
    # Logging much else clutters up the screen.
    #kern.* /dev/console

    # Log anything (except mail) of level info or higher.
    # Don't log private authentication messages!
    *.info;mail.none;news.none;authpriv.none;cron.none /var/log/message
    s

    # The authpriv file has restricted access.
    authpriv.* /var/log/secure 安全验证日志,系统生成的日志文件是放在了/var/log/secure

    # Log all the mail messages in one place.
    mail.* /var/log/maillog这个是电子邮件系统的功能,这个日志文件是在/var/log/maillog目录下。


    # Log cron stuff
    cron.* /var/log/cron[COLOR=blue]这个是计时信息


    # Everybody gets emergency messages
    *.emerg * 这是syslog对日志所设置的级别,emerg表示系统已经不可用

    # Save news errors of level crit and higher in a special file.
    uucp,news.crit /var/log/spooler这是syslog对news和uucp的日志所设置的级别,crit表示危急,但事故还没有发生,将要发生。

    # Save boot messages also to boot.log
    local7.* /var/log/boot.log 开机系统日志,用local7来表示,日志文件的位置处在/var/log,日志文件是boot.log

    #
    # INN
    #
    news.=crit /var/log/news/news.crit
    news.=err /var/log/news/news.err
    news.notice /var/log/news/news.notice


    5]日志类型

    authpriv 安全性/验证的信息,通过这个,我们可以查看比如telnet和ssh之类登入系统方面的日志。这对于防黑有重要作用,不可小视。

    cron 任务调度信息,有点象windows中的计划任务,我们可以通过这个程序在什么时间做什么事。他的配制文件在 /etc/crontab中,在这里我们是说它的日志文件的配制

    kern 这是系统内核的日志,这个要我们自己定义存放位置,我们可以在/etc/syslog.conf中自己来定义存放位置。比如,我们可以在syslog.conf中加一行,比如是这样的
    ker.debug /var/log/kern.log

    local0-local7 自定义级别,开机系统日志,用local7来表示,日志文件的位置处在/var/log,日志文件是boot.log

    lpr 看名字也应该知道,这是打印的日志文件,这个我们也一样可以自己来定义。在下面,我们再逐步深入说一下如何写系统日志

    mail 是电子邮件的,sendmail,qmail等信息

    news 是新闻组服务器的。

    user 一般和户信息

    syslog 内部log信息

    auth 也是用户登入的信息,安全性和验证性的日志

    uucp 全称是UNIX-TO-UNIX COPY PROTOCOL的信息


    6]日志级别,日志系统管理员来维护系统的,系统日志的内容太多,所以就有必要把日志按级别来排序,这样能方便管理员发现比较紧急和重要的问题,以着手处理和解决。
    这里有一个主次顺序,也就是重要的都放在前面,级别是由高而低的。

    emerg 系统已经不可用,级别为紧急

    alert 警报,需要立即处理和解决

    crit 既将发生,得需要预防。事件就要发生

    warnig 警告。

    err 错误信息,普通的错误信息

    notice 提醒信息,很重要的信息

    info 通知信息,属于一般信息

    debug 这是调试类信息

    * 记录所有的信息,并发到所给所有的用户,以上的信

    7]日志设置或者语法格式的书写

    在/etc/syslog.conf中,根据我们自己的情况,可以配制或者定义日志文件。语法格式如下,也比较简单。。

    日志类型.等级 日志存放位置[要用绝对路径]

    举个例子来说

    kern.debug /var/log/kern.log


    进一步详细解说:[注:以RedHat 8.0为例]在RedHat 8.0中,我们能看到如下的一行。这代表什么意思呢。

    authpriv.* /var/log/secure

    这个代表的意思是:所有验证类级别的日志都存放在secure这个日志文件里。有时,我们也会在/var/log目录里,看到secure1之类的,其实也是这类的日志,我们要灵活一下。是不是?

    通过这个文件,我们可以看到验证类的日志,比如telnet和ssh等。如果别人用telnet我们的机器,我们就要查看这个文件了。我们可以通过
    #more secure | grep telnet来看,当然用more也能一页一页的看过去,我的目的仅仅是想知道是不是这个文件能看到这方面的东西,比如我用机其它器telnet,我的
    linux的主机,就有从下面得到记录。是不是一清二楚了???哈。。。看来这个日志很有用。。。否则我们被黑了,也不知道呢。。。



    Dec 15 15:22:59 linuxsir01 xinetd[809]: START: telnet pid=2535 from=192.168.0.6
    Dec 17 01:06:42 linuxsir01 xinetd[810]: START: telnet pid=26581 from=192.168.0.6
    Dec 17 17:59:05 linuxsir01 xinetd[810]: START: telnet pid=4152 from=192.168.0.8
    Dec 18 02:52:59 linuxsir01 xinetd[810]: START: telnet pid=9520 from=192.168.0.6
    Dec 18 03:15:55 linuxsir01 xinetd[810]: START: telnet pid=9910 from=192.168.0.6



    最新简单的方法

    在Redhat 8.0中有个查看日志的工具,如下:

    #redhat-logviewer

  • 相关阅读:
    LeetCode 382. Linked List Random Node
    LeetCode 398. Random Pick Index
    LeetCode 1002. Find Common Characters
    LeetCode 498. Diagonal Traverse
    LeetCode 825. Friends Of Appropriate Ages
    LeetCode 824. Goat Latin
    LeetCode 896. Monotonic Array
    LeetCode 987. Vertical Order Traversal of a Binary Tree
    LeetCode 689. Maximum Sum of 3 Non-Overlapping Subarrays
    LeetCode 636. Exclusive Time of Functions
  • 原文地址:https://www.cnblogs.com/1327/p/1516240.html
Copyright © 2011-2022 走看看