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.www58058.com/78001

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

相關推薦

  • bash 循環和函數

    回顧: 循環 循環控制:break,continuewhile , for循環的特殊用法for (());do     循環體donewhile read VARAIBLE;do     循環體done <&nbs…

    Linux干貨 2016-08-24
  • 第三周n28

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 who | cut -d ” ” -f 1 | sort -u 2、取出最后登錄到當前系統的用戶的相關信息。 who | tail -1 3、取出當前系統上被用戶當作其默認shell的最多的那個shell。 cat /etc/passwd | …

    Linux干貨 2017-12-17
  • Tomcat

    ????Tomcat是由Apache軟件基金會下屬的Jakarta項目開發的一個Servlet容器,實現了對Servlet和JavaServer Page(JSP)的支持,并提供了作為Web服務器的一些特有功能,如Tomcat管理和控制平臺、安全域管理和Tomcat閥等。由于Tomcat本身也內含了一個HTTP服務器,它也可以被視作一個單獨的Web服務器。但…

    2017-09-05
  • Linux 用戶, 組和權限

    用戶, 組和權限 Linux登陸需要用戶名、密碼。/etc/passwd 文件保存用戶名。登錄linux時,Linux 先查找 /etc/passwd 文件中是否有這個用戶名,沒有則跳出,有則讀取用戶名的user ID 、 group ID 、用戶名對應的根目錄路徑以及所使用的 shell ,最后在 /etc/shadow 中核對該 UI…

    2017-07-22
  • 馬哥教育N22期第五周作業

    1、顯示當前系統上root、fedora或user1用戶的默認shell; [root@localhost ~]# egrep "^root|fedora|user1" /etc/passwd root:x:0:0:root:/root:/bin/bash fedora:x:1002:1002::/…

    Linux干貨 2016-09-15
  • liunx的哲學思想

     Linux哲學思想 *一切皆文件(硬件、目錄、普通文件、二進制文件等。) *小型,單一用途的程序 *鏈接程序,共同完成復雜的任務 *避免令人困惑的用戶界面 *配置數據存儲在文本中 解釋:一切皆文件:是 Unix/Linux 的基本哲學之一。不僅普通的文件,目錄、字符設備、塊設備、 套接字等在 Unix/Linux 中都是以文件被對待;它們雖然類型…

    Linux干貨 2017-07-15
欧美性久久久久