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

相关推荐

  • 第一周:Linux基础及哲学思想

    1.现代计算机的组成及功能    现代计算机由运算器、控制器、存储器、输入和输出设备5大部分组成。分别担当着计算机的计算,控制,存储,输入和输出等功能. 2.Linux的发行版及其之间的联系与区别     Linux发行版主要分支分为三大系列: Slackware、debian 、redhat  &…

    Linux干货 2016-06-23
  • liunx性能监控工具总结

    1.uptime 1)显示的信息:显示当前时间,系统已启动的时间,当前在线人数,系统平均负载(1分钟、5分钟、10分钟的平均负载,一般不会超过1) 2)系统平均负载:指在特定时间间隔内运行队列中的平均进程数。 3)如果每个CPU内核的当前活动进程数不大于3的话,那么系统的性能良好。如果每个CPU内核的任务数大于5,那么这台及其的性能有严重问题 4)ruguo…

    Linux干货 2016-09-09
  • 1017练习题

    1017练习题 作业 10月17日 柴震 1.生产环境发现一台服务器系统时间产生偏差,造成服务异常,请帮忙校正。 hwclock 查看硬件是否准确,如准确无误,可以使用hwclock -s以硬件时间为准。 或者使用ntpdate命令指定一台NTP服务器,进行同步。 2.生产有一个数据同步脚本需要执行很长时间,怎样做到无人值守,在…

    Linux干货 2016-10-18
  • 如何实现在命令行输入pwd时显示出ifconfig的效果

    1、使用type ifconfig 查看   2、使用type pwd 查看 如果还没有使用过pwd则显示如下,表示pwd属于内部命令,然后输入enable -n pwd 禁用这个内部命令   如果已经使用过,就会显示hash,已经缓存过   此时就不仅需要禁用内部命令,还需要使用hash -d pwd 清除pwd的缓存,使其在…

    2017-07-13
  • centos查看和修改文件权限

      查看权限在终端输入:  ls -l xxx.xxx (xxx.xxx是文件名)那么就会出现相类似的信息,主要都是这些:-rw-r–r–其中: 最前面那个 – 代表的是文件类型中间那三个 rw- 代表的是所有者(user)然后那三个 r– 代表的是组群(group)最后那三个 r–   …

    2017-11-26
  • FHS文件系统下个各目录功能

    FHS文件系统下个各目录功能 FHS文件系统的建立是为了让开发者和用户可以预测软件安装文件和文件夹的位置。对整个linux的文件系统系统做了以下的规范:     /bin:命令二进制文件的存放目录;     /boot:系统启动时一些文件存放的目录,包含引导linux的重要文件,…

    Linux干货 2016-10-18