ڼС
梦回起点
做你害怕做的事,你会发现:不过如此
本站基于WordPress—主题by 设计窝
冀ICP备15003737号
梦回起点
Copyright © 2015-2024 All rights reserved.

linux登录文件分析-鸟哥的Linux私房菜基础版本(第二版)笔记15

什么是登录文件
     简单的说就是记录何时何地何人做了什么 还有就是系统什么时间发生了什么事
为什么记录解析登录文件
     解决系统故障
     解决网络服务问题
     记录登录信息
         /var/log/secure记录登录系统访问数据的文件 pop3,ssh,telnet, ftp等
         /var/log/wtmp 差事登陆者的信息数据,已编码必须用last命令来取出
         /var/log/messages 系统错误信息
         /var/log/boot.log 记录开机或一些服务启动时所显示的启动或关闭信息
         /var/log/maillog 记录邮件访问或往来的用户记录
         /car/log/httpd,news,mysqld.log,samba,procmail.log 记录几个网络服务
     在linux的登录文件系统中,通常以一个特定的守护程序来写入信息就是syslogd
     针对登录文件来设计的服务有:
         syslogd 记录系统或者网络服务的登录文件
         logrotate 将旧的数据更名,并且建立新的登录文件,以保持登录文件的
                     全新,并且设置将最旧的登录文件删除
登录文件的记录 syslogd
登录文件内容的一般格式
     事件发生的日期与时间
     发生此事件的主机
     启动此事件的服务名称或函数名称
     该消息数据内容
登录文件的配置:/etc/syslog.conf
     这个文件规定了 需要记录那些服务及记录什么等级的信息 语法如下:
     服务名称[.=!]信息等级 信息记录的文件名或设备或主机
     #例如下面:
     mail.info                 /var/log/maillog_info
     服务名称
         表示记录什么服务产生的信息syslog能够识别的服务主要有
         auth authpriv 主要是与认证有关的机制
         cron 与例行性命令(cron at)有关的信息
         daemon 与守护进程有关的信息
         kern 与核心有关的信息
         lpr 打印相关的信息
         mail 与邮件收发有关的信息
         news 与新闻用户组服务器有关信息
         syslog 就是syslogd这个程序本身产生的信息
         user uucp local0-local7 与类UNIX机器有关的信息
     信息等级
         info 基本的信息说明
         notice 比info更需要注意的一些信息
         waining 或warn 警告信息可能有问题,但还不至于影响守护进程的运行
         err或error 一些重大的错误信息,
         crit(critical临界点)比error还要严重的错误信息
         alert 警告 比crit还要严重的问题
         emerg或panic 系统几乎要死机
             在信息等级之前还有[.=!]连接符号
             (.)表示比后面的等级(含该等级)高的都记录下来
             (.=)表示所许可的等级就是后面的等级,其他的不需要
             (.!)表示不等于,即除了该等级之外的其他等级都记录
             一般用.
     信息记录的文件名或配置或主机
         常见的位置:
             文件的绝对路径 通常放在/var/log里的文件
             打印机或其他 例如/dev/lp0打印机设备
             用户名称  显示给用户
             远程主机  例如@test.adsldns.org 要对方主机支持
             (*)    表示当前在线的所有人
登录文件的安全性设置
     chattr +a  设置文件为只读,不能删除,不能修改
     可以利用如下操作做到只能增加不能删除
     chattr +a /var/log/messages
     lsattr /var/log/messages
     只有执行chattr -a /var/log/messages 才能删除移动
登录文件的简单设置
     先获取端口的信息
         duxing@ubuntu:/tmp$ grep 514 /etc/services
         syslog        514/udp
         #如果没有要加上
     修改syslogd的启动设置文件,通常在/etc/sysconfig/syslog
     #找到下面一行
     SYSLOGD_OPTIONS="-m 0" 改为 SYSLOGD_OPTIONS="-m 0 -r"
     #重启syslogd
     /etc/init.d/syslog restart
     这样操作之后主机就可以接受其他主机发送来的登录信息了
     然后客户主机编辑/etc/syslog.conf写入如下一行
     *.*        @192.168.1.100
     主机就可以显示客户机发送来的登录信息了
登录文件的轮替(logrotate) 将旧的登录文件移动到旧文件,创建新文件记录
logrotate的设置文件
     设置文件在:
         /etc/logrotate.conf
         /etc/logrotate.d
     /etc/logrotate.conf内容
     /var/log/wtmp {
         missingok
         monthly #每月进行一次轮替工作
         create 0664 root utmp #将文件权限设置为0664 拥有者为root 用户组utmp
         rotate 1 # 保留几个文件,默认是保留4个
     }

    详细的解释(以/etc/logrotate.d/syslog为例)
     duxing@ubuntu:/tmp$ cat /etc/logrotate.d/rsyslog
         /var/log/syslog
         {
             rotate 7
             daily
             missingok
             notifempty
             delaycompress
             compress
             postrotate
                 reload rsyslog >/dev/null 2>&1 || true
             endscript
         }

        登录文件的绝对路径文件名{
             设置项
         }
         可以用空白分隔多个登录文件名
         用{}包括所有的设置
         设置的项目与前面相同,可以加入轮替之前(pre)与之后(post)的一些
         特殊执行的命令,这个设置需要与sharedscripts...ndscript设置合用
             prerotate 在启动logrtate之前执行的命令
             postrotate 做完logrotate之后的启动命令
             对于加了a属性的记录文件可以用这两个命令处理
实际测试logrotate的操作
    logrotate [-vf] logfile
     选项:
         -v 启动显示模式
         -f 不论是否符合设置文件,强制每个登录文件都进行rotate
分析登录文件
常见的命令 :last lastlog dmesg
     dmes 启动文件的查看
    last 读出这个月的数据
     选项:
         -n 如果数据量过大,可以-n number 严格要求显示的数据
         -f last默认读出/var/log/wtmp 可以通过这个选项读出不同的登录文件信息
         lastlog 读出/var/log/lastlog的信息,显示当前系统每个账号最后一次登录的信息

2015-12-25
                         
暂无评论

发表回复