您好,歡迎來到網暖!
?
當前位置:網暖 » 站長資訊 » 建站基礎 » 網絡技術 » 文章詳細 訂閱RssFeed

時間服務器、日志服務器、sudo

來源:網絡整理 瀏覽:145次 時間:2019-12-04
時間服務器、日志服務器、sudo
  1. 時間服務器
    centos7以后開始使用chrony做時間服務器,chrony兼容NTP服務。監聽123(傳統NTP服務端口)和323(chrony服務端口),這樣客戶端既可以是ntp也可以是chrony。
    接下來以服務端和客戶端都是chrony來說明時間同步,
    A機:172.20.10.5(時間服務器),B機:172.20.10.6(客戶端)
    A機:
    安裝chrony#yum install chrony -y修改配置文件vim /etc/chrony.confserver 0.centos.pool.ntp.org iburstallow 172.20.10.0/24server來指定上一級時間同步服務器,allow表示允許那個IP段以本機為時間服務器同步時間。這里指定 192.168.184.0/24網段配置完重啟chrony服務#systemctl? restart? chronyd.service#ss -tunlp? ?查看端口323

    B機:

    安裝chronyyum install chrony -y修改配置文件#vim/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 iburstserver 172.20.10.5 iburst注釋掉其他的server,配置以A機為時間服務器然后重啟客戶端的chrony服務#systemctl? restart? chronyd.service#systemctl enable chronyd.service 開機自啟動服務查看同步源(時間服務器)chronyc sources查看同步狀態#chronyc sourcestats

    2.日志服務器
    (1)為了更好的管理應用程序和操作系統的日志,使用日志服務器進行管理,我們需要用到rsyslog,它是由早期的syslog的升級版。它可以收集系統引導啟動、應用程序啟動、應用程序(尤其是服務類應用程序)運行過程中的事件。
    記錄的格式為:事件產生日期和時間? 主機? 進程PID? 事件內容。
    rsyslog的特性:多線程,支持TCP、UDP、SSL、TLS、RELP協議。可存儲信息于日志、mysql等數據庫管理系統。可以對日志信息進行過濾,可以自定義輸出格式。
    (2)安裝rsyslog

    yum install rsyslog它的主程序是rsyslogd它的配置文件是/etc/rsyslog.conf,? /etc/rsyslog.d/*.conf主配置文件rsyslog.conf?主要由三個部分組成:?MODULES? 表示加載的模塊列表GLOBAL DIRECTIVES? ?表示全局的配置RULES? ?表示日志記錄規則(重點)其中:MODULES段的格式為$ModLoad? 模塊名稱如果模塊名稱為im開起表示輸入模塊,如果以om開頭表示輸出模塊GLOBAL DIRECTIVES?段主要定義一些常用設置,比如:$WorkDirectory? 表示工作目錄RULES?段的格式為:facility.priority? target其中facility:設施,從功能上或程序上對日志收集進行分類,如:auth,authpriv,cron,daemon,kern,lpr,mail,mark,news,security,user,uucp,local0~local7,syslogpriority:優先級,日志級別,如下(從左到右,由低到高):debug,info,notice,warn(warning),err(error),crit(critical),alert,emerg(panic)指定級別的方式:*:所有級別;none:沒有級別;priority:此級別以及高于此級別的所有級別)=priority:僅此級別;一般要求日志級別為warn,即warn以及warn以上級別的日志要記錄。生產上一般不會開debug級別的日志,因為日志記錄太多會導致io繁忙。target:日志寫入目標文件:把日志事件寫入到指定的文件中,日志文件通常位于/var/log目錄下,文件路徑前面加"-"表示異步寫入文件;用戶:將日志事件通知給指定的用戶,通過將信息發送給登錄到系統上的用戶的終端進行的;日志服務器:@host ,把日志發送到指定的服務器主機,要保證host日志服務器在tcp或udp協議的514端口有監聽并提供日志服務。管道:? | COMMAND? 送到某一命令進行處理

    (3)實驗:
    A機:172.20.10.5(日志服務器),B機:172.20.10.6(客戶端)
    A機器上:

    #?yum install rsyslog修改配置文件vim /etc/rsyslog.conf#Provides UDP syslog reception$ModLoad imudp$UDPServerRun 514$Provides TCP syslog reception$ModLoad imtcp$InputTCPServerRun 514以上配置行的注釋去掉后就會開啟對tcp和udp協議的514端口進行監聽。重啟rsyslog服務#systemctl restart rsyslog.service#ss -tunl? 查看有514端口監聽。

    B機器上:

    #?yum install rsyslog修改配置文件# vim? /etc/rsyslog.conf#*.info;mail.none;authpriv.none;cron.none? ? ? ? ? ? ? ?/var/log/messages*.info;mail.none;authpriv.none;cron.none? ? ? ? ? ? ? ? @172.20.10.5把它的target?改為? @日志服務器IP然后重啟客戶端的rsyslog服務#systemctl restart rsyslog.service這樣就不會有日志記錄到B機的/var/log/message中了。而是記錄到日志服務器A上,由日志服務器上的配置文件決定日志記錄到哪里。由我們沒有改為A機上RULES?日志規則所以是寫入到日志服務器上的/var/log/message(為了較好的看出效果,需要事先設置不同的主機名)

    把日志保存的mysql設備中(A):

    安裝rsyslog-mysql的模塊# yum install rsyslog-mysql查看安裝文件位置#? rpm -ql rsyslog-mysql安裝mariadb數據庫# yum install mariadb-server??mariadb# vi? /etc/my.cnf.d/server.cnf[mysqld]skip_name_resolve=ONinnodb_file_per_table=ON啟動數據庫并導入數據systemctl start mariadb.service#? mysql?mysql>GRANT ALL ON Syslog.* TO 'rsyslog'@'192.168.184.%' IDENTIFIED BY 'rsyspass';mysql>?flush privileges;mysql>quit;修改日志服務器上的rsyslog配置文件# vi /etc/rsyslog.conf#### MODULES ####$ModLoad ommysql#### RULES ####*.info;mail.none;authpriv.none;cron.none :ommysql:192.168.184.136,Syslog,rsyslog,rsyspass加載ommysql模塊,并配置target為ommysql ,后面這串內容為:ommysql:數據庫主機,數據庫名,數據庫用戶,數據庫密碼。然后重啟rsyslog.service# systemctl restart rsyslog.service在B機上登錄用戶和登出用戶操作,再查一下A機的數據庫發現有新的記錄產生。

    web展示接口:loganalyzer

    配置lamp組合httpd, php, php-mysql, php-gd安裝loganalyzer#tar  xf  loganalyzer-3.6.5.tar.gz#cp  -r  loganalyzer-3.6.5/src  /var/www/html/loganalyzer#cp  -r loganalyzer-3.6.5/contrib/*.sh  /var/www/html/loganalyzer/#cd /var/www/html/loganalyzer/#chmod  +x  *.sh# ./configure.sh

    3.sudo安全切換
    sudo?能夠讓獲得授權的用戶以另外一個用戶(一般為root用戶)的身份運行指定的命令
    授權配置文件/etc/sudoers,但是一般使用visudo命令進行編輯。因為誤操作引起系統異常。
    授權配置文件的格式:
    users? hosts=(runas)? ?commands
    含義是,users列表中的用戶(組),可以在hosts列表的位置上,以runas用戶的身份來運行commands命令列表中的命令。
    各個字段可能的值?為:

    users:? sudo命令的發起用戶用戶名?或uid%用戶組名? 或%gid? ?(這里要注意用戶需把基本組切換為該用戶組,才能使用sudo)User_Alias 用戶別名hosts:? 允許的地址ip地址主機名NetAddrHost_Alias?主機別名runas:? ?以某一用戶的身份執行用戶名?或uidRunas_Alias 用戶別名commands:?指定的命令列表command(命令建議使用完整的絕對路徑)!command?表示禁止某一命令directorysudoedit:特殊權限,可用于向其它用戶授予sudo權限Cmnd_Alias? ? 命令別名

    這幾個字段中hosts,runas, commands都可以用ALL來表示所有。
    定義別名的方法:

    ALIAS_TYPE NAME=item1,item2,item3,...NAME:別名名稱,必須使用全大寫字符ALIAS_TYPE :User_Alias,Host_Alias,Runas_Alias ,Cmnd_Aliassodu命令執行時會要求用戶輸入自己的密碼,為了避免頻繁驗密與安全其見,能記錄成功認證結果一段時間,默認為5分鐘,即5分鐘內不需要再驗證用戶密碼。

    以sudo的方式來運行指定的命令
    sudo? ?[options]? COMMAND

    -l? 列出sudo配置文件中用戶能執行的命令-k? 清除此前緩存用戶成功認證結果,之后再次運行sudo時要驗證用戶密碼。如果想要讓用戶輸入部分命令時不需要進行密碼驗證,在sudo配置文件中commands列表部分,可以在命令列表前面加上"NOPASSWD",則其后的命令不需要密碼,如果某些命令又需要密碼就在前面加上“PASSWD”,所以commands列表可以為這種格式:NOPASSWD? 不需要密碼的命令列表??PASSWD? 需要密碼的命令列表安全提示:在sudo配置文件中root ALL=(ALL) ALL%wheel ALL=(ALL) ALL上面配置中root用戶這行沒有問題,但是%wheel這行要注意,如果把某用戶加入到%wheel組,當用戶把基本組切換為wheel組時就可以像root用戶一樣運行命令,較有風險的命令舉例如下:sudo su - root? ? 不需要密碼就可以切換到root用戶sudo? passwd? root? ? 修改root用戶密碼,不需要輸入原密碼。建議把%wheel改為%wheel ALL=(ALL)? ?ALL,!/bin/su,!/usr/bin/passwd root

推薦站點

  • 騰訊騰訊

    騰訊網(www.QQ.com)是中國瀏覽量最大的中文門戶網站,是騰訊公司推出的集新聞信息、互動社區、娛樂產品和基礎服務為一體的大型綜合門戶網站。騰訊網服務于全球華人用戶,致力成為最具傳播力和互動性,權威、主流、時尚的互聯網媒體平臺。通過強大的實時新聞和全面深入的信息資訊服務,為中國數以億計的互聯網用戶提供富有創意的網上新生活。

    www.qq.com
  • 搜狐搜狐

    搜狐網是全球最大的中文門戶網站,為用戶提供24小時不間斷的最新資訊,及搜索、郵件等網絡服務。內容包括全球熱點事件、突發新聞、時事評論、熱播影視劇、體育賽事、行業動態、生活服務信息,以及論壇、博客、微博、我的搜狐等互動空間。

    www.sohu.com
  • 網易網易

    網易是中國領先的互聯網技術公司,為用戶提供免費郵箱、游戲、搜索引擎服務,開設新聞、娛樂、體育等30多個內容頻道,及博客、視頻、論壇等互動交流,網聚人的力量。

    www.163.com
  • 新浪新浪

    新浪網為全球用戶24小時提供全面及時的中文資訊,內容覆蓋國內外突發新聞事件、體壇賽事、娛樂時尚、產業資訊、實用信息等,設有新聞、體育、娛樂、財經、科技、房產、汽車等30多個內容頻道,同時開設博客、視頻、論壇等自由互動交流空間。

    www.sina.com.cn
  • 百度一下百度一下

    百度一下,你就知道

    www.baidu.com
?
买北京单场