您好,登錄后才能下訂單哦!
安裝chrony
#yum install chrony -y
修改配置文件
vim /etc/chrony.conf
server 0.centos.pool.ntp.org iburst
allow 172.20.10.0/24
server來指定上一級時間同步服務(wù)器,allow表示允許那個IP段以本機為時間服務(wù)器同步時間。這里指定 192.168.184.0/24網(wǎng)段配置完重啟chrony服務(wù)
#systemctl? restart? chronyd.service
#ss -tunlp? ?查看端口323
B機:
安裝chrony
yum 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 iburst
server 172.20.10.5 iburst
注釋掉其他的server,配置以A機為時間服務(wù)器
然后重啟客戶端的chrony服務(wù)
#systemctl? restart? chronyd.service
#systemctl enable chronyd.service 開機自啟動服務(wù)
查看同步源(時間服務(wù)器)
chronyc sources
查看同步狀態(tài)
#chronyc sourcestats
2.日志服務(wù)器
(1)為了更好的管理應(yīng)用程序和操作系統(tǒng)的日志,使用日志服務(wù)器進行管理,我們需要用到rsyslog,它是由早期的syslog的升級版。它可以收集系統(tǒng)引導(dǎo)啟動、應(yīng)用程序啟動、應(yīng)用程序(尤其是服務(wù)類應(yīng)用程序)運行過程中的事件。
記錄的格式為:事件產(chǎn)生日期和時間? 主機? 進程PID? 事件內(nèi)容。
rsyslog的特性:多線程,支持TCP、UDP、SSL、TLS、RELP協(xié)議??纱鎯π畔⒂谌罩?、mysql等數(shù)據(jù)庫管理系統(tǒng)。可以對日志信息進行過濾,可以自定義輸出格式。
(2)安裝rsyslog
yum install rsyslog
它的主程序是rsyslogd
它的配置文件是/etc/rsyslog.conf,? /etc/rsyslog.d/*.conf
主配置文件rsyslog.conf?主要由三個部分組成:?
MODULES? 表示加載的模塊列表
GLOBAL DIRECTIVES? ?表示全局的配置
RULES? ?表示日志記錄規(guī)則(重點)
其中:
MODULES段的格式為
$ModLoad? 模塊名稱
如果模塊名稱為im開起表示輸入模塊,如果以om開頭表示輸出模塊
GLOBAL DIRECTIVES?段主要定義一些常用設(shè)置,比如:
$WorkDirectory? 表示工作目錄
RULES?段的格式為:
facility.priority? target
其中
facility:設(shè)施,從功能上或程序上對日志收集進行分類,如:auth,authpriv,cron,daemon,kern,lpr,mail,mark,news,security,user,uucp,local0~local7,syslog
priority:優(yōu)先級,日志級別,如下(從左到右,由低到高):debug,info,notice,warn(warning),err(error),crit(critical),alert,emerg(panic)
指定級別的方式:
*:所有級別;
none:沒有級別;
priority:此級別以及高于此級別的所有級別)
=priority:僅此級別;
一般要求日志級別為warn,即warn以及warn以上級別的日志要記錄。
生產(chǎn)上一般不會開debug級別的日志,因為日志記錄太多會導(dǎo)致io繁忙。
target:日志寫入目標(biāo)
文件:把日志事件寫入到指定的文件中,日志文件通常位于/var/log目錄下,
文件路徑前面加"-"表示異步寫入文件;
用戶:將日志事件通知給指定的用戶,通過將信息發(fā)送給登錄到系統(tǒng)上的用戶的終端進行的;
日志服務(wù)器:@host ,把日志發(fā)送到指定的服務(wù)器主機,
要保證host日志服務(wù)器在tcp或udp協(xié)議的514端口有監(jiān)聽并提供日志服務(wù)。
管道:? | COMMAND? 送到某一命令進行處理
(3)實驗:
A機:172.20.10.5(日志服務(wù)器),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協(xié)議的514端口進行監(jiān)聽。
重啟rsyslog服務(wù)
#systemctl restart rsyslog.service
#ss -tunl? 查看有514端口監(jiān)聽。
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?改為? @日志服務(wù)器IP
然后重啟客戶端的rsyslog服務(wù)
#systemctl restart rsyslog.service
這樣就不會有日志記錄到B機的/var/log/message中了。而是記錄到日志服務(wù)器A上,由日志服務(wù)器上的配置文件決定日志記錄到哪里。由我們沒有改為A機上RULES?日志規(guī)則所以是寫入到日志服務(wù)器上的/var/log/message(為了較好的看出效果,需要事先設(shè)置不同的主機名)
把日志保存的mysql設(shè)備中(A):
安裝rsyslog-mysql的模塊
# yum install rsyslog-mysql
查看安裝文件位置
#? rpm -ql rsyslog-mysql
安裝mariadb數(shù)據(jù)庫
# yum install mariadb-server??mariadb
# vi? /etc/my.cnf.d/server.cnf
[mysqld]
skip_name_resolve=ON
innodb_file_per_table=ON
啟動數(shù)據(jù)庫并導(dǎo)入數(shù)據(jù)
systemctl start mariadb.service
#? mysql?
mysql>GRANT ALL ON Syslog.* TO 'rsyslog'@'192.168.184.%' IDENTIFIED BY 'rsyspass';
mysql>?flush privileges;
mysql>quit;
修改日志服務(wù)器上的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 ,
后面這串內(nèi)容為:ommysql:數(shù)據(jù)庫主機,數(shù)據(jù)庫名,數(shù)據(jù)庫用戶,數(shù)據(jù)庫密碼。
然后重啟rsyslog.service
# systemctl restart rsyslog.service
在B機上登錄用戶和登出用戶操作,再查一下A機的數(shù)據(jù)庫發(fā)現(xiàn)有新的記錄產(chǎn)生。
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?能夠讓獲得授權(quán)的用戶以另外一個用戶(一般為root用戶)的身份運行指定的命令
授權(quán)配置文件/etc/sudoers,但是一般使用visudo命令進行編輯。因為誤操作引起系統(tǒng)異常。
授權(quán)配置文件的格式:
users? hosts=(runas)? ?commands
含義是,users列表中的用戶(組),可以在hosts列表的位置上,以runas用戶的身份來運行commands命令列表中的命令。
各個字段可能的值?為:
users:? sudo命令的發(fā)起用戶
用戶名?或uid
%用戶組名? 或%gid? ?(這里要注意用戶需把基本組切換為該用戶組,才能使用sudo)
User_Alias 用戶別名
hosts:? 允許的地址
ip地址
主機名
NetAddr
Host_Alias?主機別名
runas:? ?以某一用戶的身份執(zhí)行
用戶名?或uid
Runas_Alias 用戶別名
commands:?指定的命令列表
command(命令建議使用完整的絕對路徑)
!command?表示禁止某一命令
directory
sudoedit:特殊權(quán)限,可用于向其它用戶授予sudo權(quán)限
Cmnd_Alias? ? 命令別名
這幾個字段中hosts,runas, commands都可以用ALL來表示所有。
定義別名的方法:
ALIAS_TYPE NAME=item1,item2,item3,...
NAME:別名名稱,必須使用全大寫字符
ALIAS_TYPE :User_Alias,Host_Alias,Runas_Alias ,Cmnd_Alias
sodu命令執(zhí)行時會要求用戶輸入自己的密碼,為了避免頻繁驗密與安全其見,能記錄成功認證結(jié)果一段時間,默認為5分鐘,即5分鐘內(nèi)不需要再驗證用戶密碼。
以sudo的方式來運行指定的命令
sudo? ?[options]? COMMAND
-l? 列出sudo配置文件中用戶能執(zhí)行的命令
-k? 清除此前緩存用戶成功認證結(jié)果,之后再次運行sudo時要驗證用戶密碼。
如果想要讓用戶輸入部分命令時不需要進行密碼驗證,在sudo配置文件中commands列表部分,可以在命令列表前面加上"NOPASSWD",則其后的命令不需要密碼,如果某些命令又需要密碼就在前面加上“PASSWD”,所以commands列表可以為這種格式:
NOPASSWD? 不需要密碼的命令列表??PASSWD? 需要密碼的命令列表
安全提示:在sudo配置文件中
root ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
上面配置中root用戶這行沒有問題,但是%wheel這行要注意,如果把某用戶加入到%wheel組,當(dāng)用戶把基本組切換為wheel組時就可以像root用戶一樣運行命令,較有風(fēng)險的命令舉例如下:
sudo su - root? ? 不需要密碼就可以切換到root用戶
sudo? passwd? root? ? 修改root用戶密碼,不需要輸入原密碼。
建議把%wheel改為
%wheel ALL=(ALL)? ?ALL,!/bin/su,!/usr/bin/passwd root
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。