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)
上一篇 2017-06-13 11:35
下一篇 2017-06-13 14:28

相关推荐

  • lamp+nfs搭建wordpress

    一、前言 lamp是大多上公司常用的架构,本文将针对分离式的lamp+nfs来搭建一个简单的wordpress网站。 二、架构图 三、基本实现过程 3.1:dns搭建 由于这这是一个实验,故使用yum搭建dns服务器 yum install -y bind 配置如下 dns主配置文件 dns辅助配置文件 zone文件 对所有服务…

    Linux干货 2015-10-16
  • 负载均衡PHP应用(实现WordPress)

    一、实验目的:负载均衡PHP应用 二、逻辑构建:   三、实验需要:4台虚拟机,一台作为客户端,一台作为VS,两台作为RS 四、实验环境:VS的DIP要与RS的IP在同一个私网内,RS的默认网关为DIP;VS则要开启路由转发功能echo 1>/proc/sys/net/ipv4/ip_forword,注意防火墙和selinux都要关闭 五、实…

    2017-05-09
  • 网络管理之基础知识

    Linux的网络配置 IP地址   它们可唯一标识 IP 网络中的每台设备  每台主机(计算机、网络设备、外围设备)必须具有唯 一的地址  IP地址由两部分组成: • 网络ID: • 标识网络 • 每个网段分配一个网络ID • 主机 ID: • 标识单个主机 • 由组织分配给各设备   IPv4地址格式:点分十进制记法  …

    Linux干货 2016-09-10
  • RAID概述

    RAID 什么是RAID RAID(redundant arrays of independents disk,独立磁盘冗余阵列)是利用数组的方式组成磁盘组。RIAD大多是由廉价的磁盘组成容量巨大的磁盘组。,利用个别磁盘提供数据所产生的加成效果提升整个磁盘系统效能。 使用RAID目的 加快访问速度 使用一个虚拟磁盘,从而增加存储容量 减少磁盘失效带来不利的影…

    Linux干货 2016-11-22
  • 20160804作业

    查出分区空间使用率的最大百分比值 查出用户UID最大值的用户名、UID及shell类型 查出/tmp的权限,以数字方式显示 统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序 利用扩展正则表达式分别表示0-9、10-99、100-199、200-249、250-255        &nb…

    Linux干货 2016-08-08
  • 第二周博客作业

      '经过了两周的学习,对Linux有了更深的认识,学习到了很多的新知识,在此进行总结。一、Linux上的文件管理类命令都有哪些,其常用的使用方法及相关示例演示。答:Linux常用的文件管理类命令主要有以下几个:  cp,mv,rm,mkdir,rmdir,install,touch;  cp命令:  作用是拷贝文件或文件夹,其用法为:  cp […

    Linux干货 2016-12-12