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

相关推荐

  • 网络接口Bonding以及网络组

    网络接口Bonding就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。 网络组 :网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量。网络组不同于旧版中bonding技术,提供更好的性能…

    Linux干货 2016-11-23
  • Nginx及其相关配置详解(一)

    Nginx: Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资…

    2017-06-22
  • LAMP 编译安装基于2.4

    一 安装前准备 说明:     操作系统:CentOS 6.7 64位     MySQL数据库版本:mariadb-5.5.48-linux-x86_64.tar.gz     Apache 版本:httpd-2.4.12.tar.bz2…

    Linux干货 2016-11-21
  • 用户和组的管理

    在Linux系统上,用户管理是基于用户名和密码的方式进行资源的分配的,Linux上的用户分为以下的类别: 管理员 : root  ,UID为0 (这个用户有极大的权限,可以直接无视很多的限制,包括读写执行的权限。所以这个用户的使用要小心,因为他的权限太大。) 普通用户的UID:1-65535 普通用户又可分为: 系统用户(已经存…

    2017-04-08
  • 如何删除一个目录下的所有文件,但保留一个指定文件。附一些常用命令

    解答: 假设这个目录是/xx/,里面有file1,file2,file3..file10   十个文件 方法如下: find /date -type f ! -name “file10″|xargs rm -f 另外还有其他的方法比如:rsync命令和bush的 extglob功能等。在此不一一列举。 附常用命令: 文件和目…

    2017-07-15
  • N25_第五周作业

    1、显示当前系统上root、fedora或user1用户的默认shell [root@EASTED ~]# grep -E "(root|fedora|user1)" /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:o…

    Linux干货 2017-01-10