Linux服務管理

咪啪魔女發表於2022-01-01

介紹

服務(service)本質就是程式,但是是執行在後臺的,通常都會監聽某個埠,等待其他程式的請求,比如(mysql,sshd,防火牆等),因此我們又稱為守護程式。
T513b6.png

指令集1:service、chkconfig

適用的服務

在CentOS7.0以後,許多服務都不再適用servicechkconfig進行管理,而使用systemctl
用以上兩個指令管理的服務在/etc/init.d中檢視
T51qG4.png

service指令:開關服務

  • service 服務名 [status|start|stop|restart|reload]
  • 演示
    T53iJe.png
    注:在虛擬機器終端操作,因為network服務終止後,Xshell將斷連

chkconfig指令:設定自啟動

chkconfig可以個服務的各個執行級別設定 自啟動/關閉

  • 檢視:chkconfig --list [|grep xxx]:列出chkconfig管理的服務的自啟動情況。

  • 設定:chkconfig --level 5 服務名 on/off:將某個服務設定為在 執行級別5 時自啟動,其他級別同理。

  • 演示:
    T53xpQ.png

注:chkconfig設定後,需要重啟機器才會生效

指令集2:systemctl

與指令集1的兩個指令進行對比

適用的服務

在CentOS7.0以後,絕大部分服務都用systemctl進行管理,systemctl管理的服務在檔案/usr/lib/systemd/system中檢視

T58NjA.png

開關服務

  • systemctl [status|start|stop|restart] 服務名
  • 演示:關閉系統防火牆(firewalld)
    T5GpCD.png

設定自啟動

注:CentOS7.0簡化了執行級別的設定,一下的操作均針對於執行級別3和5【這兩個執行級別最常用最常用】

  • 檢視:

    • systemctl list-unit-files [|grep 服務名]:檢視服務開機啟動狀態,grep可進行過濾
    • systemctl is-enabled 服務名:檢視某個服務是否自啟動
  • 設定:

    • systemctl enable/disable 服務:開啟/關閉某個服務的自啟動
  • 演示:
    T5t6I0.png

注:開啟和關閉某服務只是臨時生效,重啟系統後會迴歸以前的狀態。 如果要永久關閉應該調整自啟動設定

關於防火牆

基本介紹

firewall2.png

  • 服務【守護程式】監聽著某一個埠
  • 當外界連結到相應的埠時,就可以使用對應的服務
  • 在外界連結埠時,要先通過防火牆[firewall]。防火牆會對外界需要連結的服務進行檢測
    • 如果是開放的埠,則允許接通
    • 否則,不允許

應用舉例:連結111埠

111 埠預設是對外關閉的

  1. 執行netstat -anp | more檢視111埠的相關資訊
    埠.png

  2. 用Windows的cmd嘗試連結111埠:無法連通

    • 獲取LinuxIP地址獲取:Linux終端執行ifconfig
      ifconfig.png
    • 連結方式:cmd執行一下指令:telnet LinuxIP地址 111
      telnet.png
    • 注:telnet需要手動啟用
  3. 關閉Linux防火牆
    stop.png

  4. 再次用cmd嘗試連結:成功
    success.png

  5. 最後別忘了把防火牆開啟,保障系統安全

開啟或關閉指定埠

在真正的生產環境裡,往往需要我們開啟防火牆,那麼問題來了,如果我們既要開啟防火牆,外部又要訪問111埠,該怎麼辦呢。這時就需要開啟指定的埠。

firewall指令

  • 開啟埠:firewall-cmd --permanent --add-port=埠號/協議
  • 關閉埠:firewall-cmd --permanent --remove-port=埠號/協議
  • 重新載入:firewall-cmd --reload
  • 查詢埠是否開放:firewall-cmd --query-port=埠號/協議號

注:
1. 所有開關埠的操作只有在重新載入之後,才會生效。
2. 埠的協議號可以用指令netstat -anp 檢視。

應用案例

  1. 開啟防火牆,測試111埠是否能 telnet
    不能,在上文中已經測試過了。
  2. 開放111埠
    firewall-cmd.png
  3. 再次測試111埠是否能 telnet : 成功
    success.png
  4. 關閉111埠
    關閉.png

相關文章