介紹
服務(service)本質就是程式,但是是執行在後臺的,通常都會監聽某個埠,等待其他程式的請求,比如(mysql,sshd,防火牆等),因此我們又稱為守護程式。
指令集1:service、chkconfig
適用的服務
在CentOS7.0以後,許多服務都不再適用service
和chkconfig
進行管理,而使用systemctl
。
用以上兩個指令管理的服務在/etc/init.d中檢視
service指令:開關服務
chkconfig指令:設定自啟動
chkconfig
可以個服務的各個執行級別設定 自啟動/關閉
-
檢視:
chkconfig --list [|grep xxx]
:列出chkconfig管理的服務的自啟動情況。 -
設定:
chkconfig --level 5 服務名 on/off
:將某個服務設定為在 執行級別5 時自啟動,其他級別同理。
注:chkconfig設定後,需要重啟機器才會生效
指令集2:systemctl
與指令集1的兩個指令進行對比
適用的服務
在CentOS7.0以後,絕大部分服務都用systemctl
進行管理,systemctl
管理的服務在檔案/usr/lib/systemd/system中檢視
開關服務
設定自啟動
注:CentOS7.0簡化了執行級別的設定,一下的操作均針對於執行級別3和5【這兩個執行級別最常用最常用】
-
檢視:
systemctl list-unit-files [|grep 服務名]
:檢視服務開機啟動狀態,grep可進行過濾systemctl is-enabled 服務名
:檢視某個服務是否自啟動
-
設定:
systemctl enable/disable 服務
:開啟/關閉某個服務的自啟動
注:開啟和關閉某服務只是臨時生效,重啟系統後會迴歸以前的狀態。 如果要永久關閉應該調整自啟動設定
關於防火牆
基本介紹
- 服務【守護程式】監聽著某一個埠
- 當外界連結到相應的埠時,就可以使用對應的服務
- 在外界連結埠時,要先通過防火牆[firewall]。防火牆會對外界需要連結的服務進行檢測
- 如果是開放的埠,則允許接通
- 否則,不允許
應用舉例:連結111埠
111 埠預設是對外關閉的
-
執行
netstat -anp | more
檢視111埠的相關資訊
-
用Windows的cmd嘗試連結111埠:無法連通
- 獲取LinuxIP地址獲取:Linux終端執行
ifconfig
- 連結方式:cmd執行一下指令:
telnet LinuxIP地址 111
- 注:telnet需要手動啟用
- 獲取LinuxIP地址獲取:Linux終端執行
-
關閉Linux防火牆
-
再次用cmd嘗試連結:成功
-
最後別忘了把防火牆開啟,保障系統安全
開啟或關閉指定埠
在真正的生產環境裡,往往需要我們開啟防火牆,那麼問題來了,如果我們既要開啟防火牆,外部又要訪問111埠,該怎麼辦呢。這時就需要開啟指定的埠。
firewall指令
- 開啟埠:
firewall-cmd --permanent --add-port=埠號/協議
- 關閉埠:
firewall-cmd --permanent --remove-port=埠號/協議
- 重新載入:
firewall-cmd --reload
- 查詢埠是否開放:
firewall-cmd --query-port=埠號/協議號
注:
1. 所有開關埠的操作只有在重新載入之後,才會生效。
2. 埠的協議號可以用指令netstat -anp
檢視。
應用案例
- 開啟防火牆,測試111埠是否能 telnet
不能,在上文中已經測試過了。 - 開放111埠
- 再次測試111埠是否能 telnet : 成功
- 關閉111埠