chrony、sudo、rsyslog

chrony

  • 程序环境:

    • 配置文件:/etc/chrony.conf
      主程序文件:chronyd
      工具程序:chronyc
      unit file: chronyd.service
  • 配置文件:chrony.conf

    • server:指明时间服务器地址;
      allow NETADD/NETMASK
      allow all:允许所有客户端主机;
      deny NETADDR/NETMASK
      deny all:拒绝所有客户端主机;默认为deny all
      bindcmdaddress:命令管理接口监听的地址;
      local stratum 10:即使自己未能通过网络时间服务器同步到时间,也允许将本地时间作为标准时间授时给其它客户端;
  • 实验:配置时间服务器

    • 时间服务器:centos 7;假设IP:172.16.251.168

      /etc/chrony.conf
        #server 0.centos.pool.ntp.org iburst
        #server 1.centos.pool.ntp.org iburst
        #server 2.centos.pool.ntp.org iburst
        #server 3.centos.pool.ntp.org iburst
        server 172.16.0.1 iburst
      
        # Allow NTP client access from local network.
        #allow 192.168/16
        allow 172.16/16
      
      systemctl start chronyd.service
      systemctl enable chronyd.service
    • 时间客户端:centos 6.8

      /etc/chrony.conf
        #server 0.rhel.pool.ntp.org iburst
        #server 1.rhel.pool.ntp.org iburst
        #server 2.rhel.pool.ntp.org iburst
        #server 3.rhel.pool.ntp.org iburst
        server 172.16.251.168 iburst
      
      service chronyd start 
      chkconfig chronyd on

sudo

  • su:switch user,用户切换

    1. su -l user
    2. su -l user -c ‘COMMAND’
  • sudo:能够让获得授权的用户以另外一个用户的身份运行指定的命令;

    • 授权机制:授权文件 /etc/sudoers

      root     ALL=(ALL)     ALL 
      %wheel     ALL=(ALL)      ALL
    • 编译此文件的专用命令:visudo

    • 授权项:
      who where=(whom) commands
      users hosts=(runas) commands

      • users:

        username
        #uid
        %groupname
        %#gid
        user_alias

        支持将多个用户定义为一组用户,称之为用户别名,即user_alias;

      • hosts:

        ip
        hostname
        NetAddr
        host_alias
      • runas:

        runas_alias
      • commands:

        command
        directory
        sudoedit:特殊权限,可用于向其它用户授予sudo权限;
        cmnd_alias
    • 定义别名的方法:

      ALIAS_TYPE  NAME=item1, item2, item3, ...
        NAME:别名名称,必须使用全大写字符;
      ALIAS_TYPE:
        User_Alias
        Host_Alias
        Runas_Alias
        Cmnd_Alias

      例如:

      User_Alias  NETADMIN=tom, jerry
      Cmnd_Alias NETCMND=ip, ifconfig, route
      
      NETADMIN     localhost=(root)     NETCMND
    • sudo命令:

      • 检票机制:能记录成功认证结果一段时间,默认为5分钟;

      • 以sudo的方式来运行指定的命令;

        sudo  [options]  COMMAND
        
          -l[l]  command 列出用户能执行的命令
          -k     清除此前缓存用户成功认证结果;
    • /etc/sudoers应用示例:

      Cmnd_Alias USERADMINCMNDS = /usr/sbin/useradd, /usr/sbin/usermod, /usr/bin/passwd [a-z]*, !/usr/bin/passwd root
      
      User_Alias USERADMIN = bob, alice
      
      USERADMIN       ALL=(root)      USERADMINCMNDS

rsyslog

  • 日志:历史事件日志

    • 历史事件:

      • 时间,事件
        事件级别(日志级别):事件的关键性程度;
  • 事件:系统引导启动、应用程序启动、应用程序尤其是服务类应用程序运行过程中的一些事件;

  • 系统日志服务:

    • syslog:

      • syslogd: system
        klogd:kernel
    • 事件格式较为简单时,可统一由syslog进行记录

      事件产生的日期时间     主机     进程[pid] :事件内容
    • 支持C/S架构:可通过UDP或TCP协议提供日志记录服务;

    • rsyslog:rsyslogd

      • 多线程;
        UDP,TCP,SSL,TLS,RELP;
        存储日志信息于MySQL、PGSQL、Oracle等数据管理系统;
        强大的过滤器,实现过滤日志信息中任何部分的内容;
        自定义输出格式;
    • elk stack:elasticsearch, logstash, kibana
  • rsyslog日志收集器重要术语:

    • facility:设施,从功能或程序上对日志收集进行分类;
      auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security, user, uucp, local0-local7, syslog
    • priority:优先级,日志级别
      debug, info, notice, warn(warning), err(error), crit(critical), alert, emerg(panic)

      • 指定级别:
        *:所有级别;
        none:没有级别;
        priority:此级别以高于此级别的所有级别;
        =priorty:仅此级别;
    • 程序环境:

      • 主程序:rsyslogd
      • 主配置文件:/etc/rsyslog.conf,/etc/rsyslog.d/*.conf
      • 服务脚本(centos6):/etc/rc.d/init.d/rsyslog
      • Unit File(CentOS 7):/usr/lib/systemd/system/rsyslog.service
    • 配置文件格式:/etc/rsyslog.conf

      • 主要由三部分组成:

        #### MODULES ####
        #### GLOBAL DRICTIVES ####
        #### RULES ####
      • RULES:

        facilty.priority     target
        
        target:
          文件:记录日志事件于指定的文件中;通常应该位于/var/log目录下;文件路径之前的"-"表示异步写入,默认为同步写入;
          用户:将日志事件通知给指定的用户;是通过将信息发送给登录到系统上的用户的终端进行的;
          日志服务器:@host,把日志送往指定的服务器主机;
              host:即日志服务器地址,监听在tcp或udp协议的514端口以提供服务;
          管道: | COMMAND
      • 其它日志文件:

        • /var/log/wtmp:当前系统成功登录系统的日志;需要使用last命令查看
        • /var/log/btmp:当前系统尝试登录系统失败相关的日志;需要使用lastb命令查看
          lastlog:显示当前系统上的所有用户最近一次登录系统的时间;
        • /var/log/dmesg:系统引导过程中的日志信息;
          也可以使用dmesg命令进行查看;
    • rsyslog服务器:

      # Provides UDP syslog reception
      $ModLoad imudp
      $UDPServerRun 514
      
      # Provides TCP syslog reception
      $ModLoad imtcp
      $InputTCPServerRun 514
    • 记录日志于mysql中:

      (1) 于MySQL服务器:准备好MySQL服务器,创建用户,授权对Syslog数据库拥有全部访问权限;
      (2) 于rsyslog主机:安装rsyslog-mysql程序包;
      (3) 于rsyslog主机:通过导入createDB.sql脚本创建依赖到的数据库及表;
        mysql    -uUSER  -hHOST  -pPASSWORD  < /usr/share/doc/rsyslog-mysql-VERSION/createDB.sql 
      (4) 配置rsyslog使用ommysql模块
        ### MODULES ####
        $ModLoad  ommysql
      
        #### RULES ####
        facility.priority         :ommysql:DBHOST,DB,DBUSER,DBUSERPASS
      
        注意:重启rsyslog服务;
      (5) web展示接口:loganalyzer
        (a) 配置lamp组合
            httpd, php, php-mysql, php-gd
        (b) 安装loganalyzer
            # tar  xf  loganalyzer-3.6.5.tar.gz
            # cp  -r  loganalyzer-3.6.5/src  /var/www/html/loganalyzer
                实际生产中建议使用软链接,方便之后的版本更改
            # cd /var/www/html/loganalyzer
            # touch config.php
            # chomod 666 config.php
      
            通过URL访问
                http://HOST/loganalyzer
      
            # chmod 644 /var/www/html/loganalyzer/config.php

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

(0)
ss
上一篇 2017-06-13 11:35
下一篇 2017-06-13 14:28

相关推荐

  • openssl建立私有CA和申请证书

    实验环境: 虚拟机:VMware® Workstation 12 Pro 主机A:ip为10.1.255.55/16,创建CA并给其他主机提供CA服务 主机B:为httpd服务器,ip为10.1.249.115/16 1、查看openssl的配置文件/etc/pki/tls/openssl.cnf [root@localhost…

    Linux干货 2016-09-23
  • vim编辑器使用详解

    1.vi (virtual interface)文本编辑器     文本编辑种类:     行编辑器:sed     全屏编辑器:nano vi     vim vi-improved  &…

    Linux干货 2016-08-15
  • 第六周:vim编辑器和cron计划任务的使用练习

    查看vim编辑器的使用介绍另见:http://afterdawn.blog.51cto.com/7503144/1855557 at及cront计划任务介绍见:http://afterdawn.blog.51cto.com/7503144/1864365 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件…

    Linux干货 2016-10-26
  • shell脚本总结

    shell进阶:列表生成方式:列表生成方式:(1) 直接给出列表 以空白为间隔(2) 整数列表:(a) {start..end}(b) $(seq [start [step]] end)(3) 返回列表的命令$(COMMAND)(4) 使用glob,如:.sh(5) 变量引用;$@, $while read line(用法)(用于遍历文件,进行处理…

    Linux干货 2017-07-10
  • lvm逻辑卷管理

    lvm逻辑卷管理: 允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小 允许在多个物理设备间重新组织文件系统,将设备指定为物理卷 用一个或者多个物理卷来创建一个卷组 物理卷是用固定大小的物理区域(Physical Extent,PE)来定义的 在物理卷上创建的逻辑卷是由物理区域(PE)组成 可以在逻辑卷上创建文件系统 创建: 创建物理卷: pvcrea…

    Linux干货 2016-09-01
  • shell脚本1

    shell脚本基础 shell脚本: 包含一些命令或声明,并符合一定格式的文本文件 格式要求:首行shebang机制 #!/bin/bash #!/usr/bin/python #!/usr/bin/perl shell脚本的用途有: 自动化常用命令 执行系统管理和故障排除 创建简单的应用程序 处理文本或文件 创建shell脚本 第一步:使用文本编辑器来创建…

    2017-08-05