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

相關推薦

  • 磁盤管理

    1、創建一個10G分區,并格式為ext4文件系統。 (1)虛擬機添加21G硬盤 Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors Units = sectors of 1&nbsp…

    Linux干貨 2016-12-18
  • 馬哥教育網絡班20期+第2周課程練習

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 cp復制, mv剪切, rm移除 語法格式: cp復制  cp [OPTION]… [-T] SOURCE DEST  常用選項: -i:交互式 -r: 遞歸復制目錄及內部的所有內容 -a: 歸檔   演示: …

    Linux干貨 2016-07-12
  • 編譯安裝httpd-2.2.27.tat.gz及配置常見參數

    一、編譯安裝的整體步驟  1、在官網下載源碼,并解壓 2、切換到其目錄中  3、執行./configure 4、編譯   二、編譯中及安裝后配置常見的參數及其說明 編譯中配置 1)指定安裝路徑 –prefix=/usr/local/Pacakage_name  指定安裝路徑 –sysc…

    Linux干貨 2016-08-24
  • 磁盤分區及lvm管理

    1. 硬盤類型 /dev/sda VS /dev/hda /dev/sda     /dev/sda1     /dev/sda2     /dev/sda3 而又的安裝時硬盤驅動設備名為 /dev/hda    /dev/hda1 &nb…

    Linux干貨 2016-09-19
  • N26-第二周作業

    linux上的文件管理命令:     1. cp命令:         作用:復制文件或目錄         單文件復制:    …

    Linux干貨 2017-02-15
  • 深入理解java異常處理機制

     1. 引子        try…catch…finally恐怕是大家再熟悉不過的語句了,而且感覺用起來也是很簡單,邏輯上似乎也是很容易理解。不過,我親自體驗的“教訓”告訴我,這個東西可不是想象中的那么簡單、聽話。不信?那你看看下面的代碼,“猜猜”它執行后的結果會是什么?不要往后看答案、也不許執行代碼看真正…

    Linux干貨 2015-04-12
欧美性久久久久