現在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
服務是否已安裝。
如下圖所示:
(2)telnet服務啟動
telnet
服務是基於xinetd
的服務,所以無法使用service
命令啟動,還有/etc/init.d/
路徑的方式也不能啟動。
因為基於xinetd
的服務沒有獨立啟動的功能,需要xinetd
服務來啟動telnet
服務。
/etc/xinetd.d
目錄是基於xinetd
服務的目錄,裡邊放的都是基於xinetd
的服務的配置檔案。
如下圖所示:
我們需要修改/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
服務是否啟動成功,如下圖所示:
使用chkconfig --list
檢視telnet服務的自啟動狀態,如下圖所示:
為什麼我設定的是telnet
服務的啟動狀態,怎麼自啟動狀態也被修改了?
看下面一點就有解釋了。
2、基於xientd服務的自啟動管理
(1)使用chkconfig
命管理自啟動
[root@localhost ~]# chkconfig 服務名 on|off
注意:
- 基於
xinetd
的服務,沒有自己的執行級別,是依靠xinetd
服務的執行級別。所以不用指定--level
選項,一定不能寫。 - 基於
xinetd
的服務的執行級別是跟從xinetd
服務的執行級別,也就是說xinetd
服務的執行級別就是基於xinetd
的服務的執行級別。
- 還有一個要注意的是,其實基於
xientd
的服務,設定啟動管理為啟動,也就是把telnet
服務啟動,其實同時就把telnet
服務的自啟動管理設定成為開啟了,兩個是通用的,這樣的設定是很不合理的,我們知道就行。
(2)使用ntsysv
命令管理自啟動
請看上一篇文章中的方式三:點選此處進行檢視。