linux 系统日志管理

     在linux系统上面,系统可以记录从开机到当前系统上面何时发生了那些事情,并将其分类,分级别写到特定的日志文件当中,如系统自身产生的问题,用户登录信息,网络数据信息等等。我们可以根据这些日志信息来解决系统方面的错误,网络服务问题等等。日志对于安全来说,非常重要,它记录了系统每天发生的各种各样的事情,你可以通过它来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。 日志主要的功能有:审计和监测。它还可以实时的监测系统状态,监测和追踪侵入者等等。

  日志存在的位置/var/log即ls /var/log

linux 系统日志管理

 常用的日志文件如下: 
   btmp 记录denglu失败的信息 
   lastlog 记录最近几次成功登录的事件和最后一次不成功的登录 
   messages 从syslog中记录信息(有的链接到syslog文件) 
   utmp    记录当前登录的每个用户

   wtmp    系统登录的情况:登入登出

登录信息的查看 
我们也可以通过last 命令查看登录日志内容 
哪个用户在哪个时间通过哪种方式登录系统的情况
      1./var/log/lastlog  #最后登录信息
      2.lastlog  #记录所有的用户什么时候登录过系统
      3./var/log/btmp  # 用户登录系统的错误信息
          lastb  查看
      4./var/log/wtmp  # 用户登录系统的成功信息
      5.# 如果说你发现你的btmp文件变得很大,说明有很大的可能是有人在暴力破解你的主机

日志的记录方式:

         消息类型:auth,authpriv,security;cron,daemon,kern,lpr,mail, mark,news,syslog,user,uucp,local0~local7.
         错误级别:(8级)debug,info,notice,warning|warn;err|error;crit,alert,emerg|panic
         动作域:file,user,console,@remote_ip
         举如上的/etc/syslog.conf文件三个例子:
         *.info;mail.none;authpriv.none;cron.none /var/log/messages
        表示info级别的任何消息都发送到/var/log/messages日志文件,但邮件系统、验证系统
        和计划任务的错误级别信息就除外,不发送(none表示禁止)
         cron.* /var/log/cron 表示所有级别的cron信息发到/var/log/cron文件
         *.emerg * 表示emerg错误级别(危险状态)的所有消息类型发给所有用户
日志输入的规则 
        .info 高于info级别的信息全部记录到某个文件 
        =级别 仅记录等于某个级别的日志 
      例:.=info 只记录info级别的日志 
      ! 级别 除了某个级别意外,记录所有的级别信息 
     例.!err 除了err外记录所有 
     none 指的是排除某个类别
自定义ssh服务的日志:

#编辑vim /etc/rsyslog.conf

linux 系统日志管理

定义sshd日志的级别 vim /etc/ssh/sshd_config,重启服务,测试结果

linux 系统日志管理

systemctl restart rsyslog

systemctl restart sshd

linux 系统日志管理

linux 系统日志管理

linux日志的切割存储(回滚原理)

 随着日志文件内容的日益增加,对于后期的处理带来非常的不便,因此就需要一种机制能够对日志进行处理,rsyslog就提供了一个这杨一个功能组件logrotate

vim /etc/logrotate.conf

       # rotate log files weekly
       weekly  # 每周执行回滚
      # keep 4 weeks worth of backlogs
     rotate 4   #保留4个副本 
      # create new (empty) log files after rotating old ones
     create   #创建新的文件存储数据
     # use date as a suffix of the rotated file
     dateext   #使用日期为后缀的回滚文件  #可以去/var/log目录下看看
     #compress
     # RPM packages drop log rotation information into this directory
      include /etc/logrotate.d
     # no packages own wtmp and btmp — we’ll rotate them here
        /var/log/wtmp {  #指定的日志文件
               monthly     #每月轮转一次
               create 0664 root utmp
                minsize 1M    #日志文件必须大于1M才会去轮换(回滚)
                 rotate 1      #保存一个轮换日志
     }
       /var/log/btmp {
    missingok  #  如果日志文件不存在,继续处理下一个文件而不产生报错信息。
    monthly
    create 0600 root utmp  #设置utmp  这个日志文件的权限,属主,属组
    rotate 1
    }
我们跟着上面个例子继续据ssh日志来完成日志的切割存储

linux 系统日志管理

准备两台装置server   client 

首先服务端

linux 系统日志管理

重启及查看端口

linux 系统日志管理

m在客户端client

linux 系统日志管理

重启服务及测试


linux 系统日志管理

linux 系统日志管理

tail -f /var/log/message  动态查看增加内容:

原创文章,作者:gd1479,如若转载,请注明出处:http://www.178linux.com/84718

(2)
gd1479gd1479
上一篇 2017-08-14 09:52
下一篇 2017-08-14 18:17

相关推荐

  • linux中特殊符号用法

    1 #    #  管理员账户    $  普通账户   在脚本中 #也常出现在一行的开头,或者位于完整指令之后,这类情况表示符号后边是注解文字,不会被执行 例如     #!/bin/bash     #th…

    Linux干货 2016-08-15
  • 第4周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。     ~]# cp -r /etc/skel/ /home/tuser1     ~]# chmod 700 /home/tuser1/ 2、…

    Linux干货 2016-12-25
  • 马哥教育网络班21期-第4周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。     cp -R /etc/skel /home/tuser1     chmod g-rwx,o-r…

    Linux干货 2016-08-03
  • X86平台系统启动流程 (Blog 9)

    POST –> BootSeqence(BIOS) –> Bootloader(MBR) –> Kernel(initrd) –> init(/etc/inittab)

    2017-11-27
  • 马哥教育网络班22期+第4周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost home]# cp -r /etc/skel /home/tuser1 [root@localhost skel]# ch…

    Linux干货 2016-09-05
  • linux基础命令: tr

    基础命令:  tr   tr命令 功能:删除和转换字符 语法:tr  [OPTION]…. SET1  [SET2] 参数: -d : 删除所有属于第一字符集的字符(删除某些特殊字符) -s : 把连续重复的字符以单独一个字符表示(删除空行很有用) 举例: 1.把小写字母转换为大写字母; cat &nbsp…

    Linux干货 2016-08-03