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
下一篇 2017-06-13

相关推荐

  • 逻辑卷管理—LVM

    逻辑卷管理—LVM   LVM:Logical  Volume  Manager        使用软件方式来组织一个或多个底层硬件设备为一个抽象的逻辑设备。 1、查看分区情况: 2、创建分区:(更改分区类型为8e:Linux LVM) 3、创建分区成功: 5、创建物理…

    Linux干货 2016-09-01
  • Linux系统网络属性管理之配置文件

        Linux有许多管理网络属性的命令但基本都是只能临时有效,想要永久有效就要更配其配置文件。现在,让我们来看看有哪些关于网络配置的配置文件。     配置文件: IP/NETMASK/GW/DNS等属性的配置文件/etc/sysconfig/network-scripts/ifcfg…

    Linux干货 2016-09-18
  • 实验验证Linux系统环境下路由的最长掩码匹配原则

    实验验证Linux系统环境下路由的最长掩码匹配原则 实验环境拓扑如下 环境配置 HostA网卡配置 DEVICE=eth1 IPADDR=172.16.0.100 PREFIX=16 R1网卡配置 DEVICE=eth1 IPADDR=172.16.0.1 PREFIX=16 DEVICE=eth2 IPADDR=192.168.2.1 PREFIX=24 …

    2017-05-02
  • Linux磁盘和文件系统基础

    概述     Linux系统上,磁盘要正常的进行数据的存储,需要先进行分区,再进行格式化生成文件系统,最后挂载到某个目录下,才能进行正常的数据存取,本篇就介绍一下磁盘从分区到正常使用的几个步骤,具体分为以下几个部分:     1、磁盘的基础概念   &nbsp…

    Linux干货 2016-08-29
  • 推荐-​以各种方式实现yum源,简单暴力,绝对实操干货!

    以各种方式实现yum源,简单暴力,绝对实操干货! 科普:yum不是程序包安装工具,而是rpm包前端管理工具,通过yum可以更好的管理rpm的安装卸载 以各种方式实现yum源,简单暴力,绝对实操干货! 一、本地yum源之“挂载光盘镜像实现”! 二、本地yum源之“挂载本地磁盘上的镜像文件”! 三、如能上网,实现自定义指定镜像网站yum源 四、炸天重磅来袭!!!…

    Linux干货 2016-04-11
  • systemd及awk

    1、简述systemd的新特性及unit常见类型分析,能够实现编译安装的如nginx\apache实现通过systemd来管理
    2、描述awk命令用法及示例(至少3例)
    3、描述awk函数示例(至少3例)

    Linux干货 2018-01-17