『學了就忘』Linux服務管理 — 77、RPM包安裝基於xinetd的服務的管理

繁華似錦Fighting發表於2021-12-13

現在Linux系統中基於xinetd的服務越來越少了,但Linux系統中還是有基於xinetd的服務的,所以我們還是需要了解一下基於xinetd的服務的管理。

1、基於xinetd服務的啟動管理

我們使用telnet服務來舉例,telnet服務是用來程式系統遠端管理的,埠是23。不過需要注意的是telnet的遠端管理資料在網路當中是明文傳輸,非常不安全,所以我們在生產伺服器上是不建議啟動telnet服務的(telnet服務的server端不安全),我們這裡只是舉例而已,用完就刪除即可。在生產伺服器上,遠端管理使用的是ssh協議,ssh是加密的更加安全。

telnet服務是基於xinetd的服務。

(1)telnet服務安裝

Linux系統中預設是沒有安裝telnet服務的。

telnet服務有兩個安裝包:

  • telnet-client軟體包,提供的是telnet客戶端程式。
  • telnet-server軟體包,才是Linux系統中的telnet服務。

所以我們只安裝telnet-server軟體包即可。

# 1.檢視Linux系統中是否已安裝telnet服務
[root@localhost ~]# rpm -q telnet-server
package telnet-server is not installed(未安裝)

# 2.yum方式telnet服務
# 2.1檢視yum庫中的telnet服務RPM包
[root@localhost ~]# yum list |grep telnet
telnet.x86_64                              1:0.17-49.el6_10              updates
telnet-server.x86_64                       1:0.17-49.el6_10              updates

# 2.2安裝telnet服務
[root@localhost ~]# yum -y install telnet-server-0.17-49.el6_10.x86_64

# 2.3檢視telnet服務是否安裝成功
[root@localhost ~]# rpm -q telnet-server
telnet-server-0.17-49.el6_10.x86_64(說明telnet服務安裝成功)

我們再通過[root@localhost ~]# chkconfig --list命令檢視telnet服務是否已安裝。

如下圖所示:

image

(2)telnet服務啟動

telnet服務是基於xinetd的服務,所以無法使用service命令啟動,還有/etc/init.d/路徑的方式也不能啟動。

因為基於xinetd的服務沒有獨立啟動的功能,需要xinetd服務來啟動telnet服務。

/etc/xinetd.d目錄是基於xinetd服務的目錄,裡邊放的都是基於xinetd的服務的配置檔案。

如下圖所示:

image

我們需要修改/etc/xinetd.d/telnet配置檔案,來修改telnet服務的啟動狀態。

[root@localhost ~]# vim /etc/xinetd.d/telnet

# 內容如下:
# default: on
# description: The telnet server serves telnet sessions; it uses \
#       unencrypted username/password pairs for authentication.
service telnet						服務的名稱為telnet。
{
        flags           = REUSE    	標誌為REUSE,設定TCP/IP socket可重用。
        socket_type     = stream	使用TCP協議資料包。
        wait            = no		允許多個連按同時連線。
        user            = root		啟動服務的使用者為root。
        server          = /usr/sbin/in.telnetd	服務的啟動程式。
        log_on_failure  += USERID	登陸失敗後,記錄使用者的ID。
        disable         = yes		服務不啟動。
}

我們需要把disable選項改為no即可。

然後我們需要重啟:

[root@localhost ~]# service xinetd restart
停止 xinetd:                                              [確定]
正在啟動 xinetd:                                          [確定]

然後檢視telnet服務是否啟動成功,如下圖所示:

image

使用chkconfig --list檢視telnet服務的自啟動狀態,如下圖所示:

image

為什麼我設定的是telnet服務的啟動狀態,怎麼自啟動狀態也被修改了?

看下面一點就有解釋了。

2、基於xientd服務的自啟動管理

(1)使用chkconfig命管理自啟動

[root@localhost ~]# chkconfig 服務名 on|off

注意:

  • 基於xinetd的服務,沒有自己的執行級別,是依靠xinetd服務的執行級別。所以不用指定--level選項,一定不能寫。
  • 基於xinetd的服務的執行級別是跟從xinetd服務的執行級別,也就是說xinetd服務的執行級別就是基於xinetd的服務的執行級別。
    image
  • 還有一個要注意的是,其實基於xientd的服務,設定啟動管理為啟動,也就是把telnet服務啟動,其實同時就把telnet服務的自啟動管理設定成為開啟了,兩個是通用的,這樣的設定是很不合理的,我們知道就行。

(2)使用ntsysv命令管理自啟動

請看上一篇文章中的方式三:點選此處進行檢視

相關文章