現在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
命令管理自啟動
請看上一篇文章中的方式三:點擊此處進行查看。