Linux使用xinetd服務的管理方法案例詳解
基於 xinetd 服務的啟動
基於 xinetd 的服務沒有自己獨立的啟動腳本程序,是需要依賴 xinetd 的啟動腳本來啟動的。xinetd 本身是獨立的服務,所以 xinetd 服務自己的啟動方法和獨立服務的啟動方法是一致的。
但是,所有基於 xinetd 這個超級守護進程的其他服務就不是這樣的瞭,必須修改該服務的配置文件,才能啟動基於 xinetd 的服務。所有基於 xinetd 服務的配置文件都保存在 /etc/xinetd.d/ 目錄中。
我們使用 Telnet 服務來舉例。Telnet 服務是用來進行系統遠程管理的,端口是 23。不過需要註意的是,Telnet 服務的遠程管理數據在網絡中是明文傳輸的,非常不安全,所以在生產服務器上是不建議啟動 Telnet 服務的。在生產服務器上,遠程管理使用的是 ssh 協議,ssh 協議是加密的,更加安全。
Telnet 服務也是分為"客戶端/服務器端"的,其中服務器端是用來啟動 Telnet 服務的,並不安全;客戶端是用來連接服務器端或測試服務器的端口是否開啟的,在實際工作中我們主要使用 Telnet 客戶端來測試遠程服務器開啟瞭哪些端口。
客戶端的命令格式如下:
[root@localhost ~]# telnet 服務器 IP #連接並管理遠程服務器,因為數據明文傳輸,所以不安全 [root@localhost ~]# telnet 服務器IP 端口 #測試遠程服務器的端口是否開啟。如果能夠正常連接,則證明該端口是開啟的
例如:
[root@localhost ~]# telnet 192.168.0.210 22 #測試一下192.168.0.210這臺服務器上的22(ssh服務)端口是否打開 #連接成功後,退出時使用"Ctrl+]"快捷鍵回到telnet交互模式,再輸入"quit"退出
雖然 Telnet 服務不安全,但 Telnet 服務是基於 xinetd 的服務,我們使用 Telnet 服務來學習一下基於 xinetd 服務的啟動管理。在目前的 Linux 系統中,Telnet 的服務器端都是不安裝的,如果進行測試,則需要手工安裝。安裝命令如下:
[root@localhost ~]#rpm-ivh/mnt/cdroin/Packages/telnet-server-0.17-47.el6.i686.rpm [100%] ############### Preparing... 1:telnet-server ############### [100%] #安裝 [root@localhost ~]# chkconfig -list #安裝之後查詢一下 …省略部分輸出... 基於xinetd的服務: chargen-dgram:關閉 chargen-stream:關閉 cvs:關閉 daytime-dgram:關閉 daytime-stream:關閉 discard-dgram:關閉 discard-stream:關閉 echo-dgram:關閉 echo-stream:關閉 rsync:關閉 tcpmux-server:關閉 telnet:關閉 time-dgram:關閉 time-stream:關閉 #Telnet服務已經安裝,是基於xinetd的服務,自啟動狀態是關閉
接下來我們就要啟動 Telnet 服務瞭。既然基於 xinetd 服務的配置文件都在 /etc/xinetd.d/ 目錄中,那麼 Telnet 服務的配置文件就是 /etc/xinetd.d/telnet。我們打開這個文件看看,如下:
[root@localhost ~]#vi /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可重用 socketjtype = stream #使用 TCP協議數據包 wait = no #允許多個連接同時連接 user = root #啟動服務的用戶為root server = /usr/sbin/in.telnetd #服務的啟動程序 log_on_failure += USERID #登錄失敗後,記錄用戶的ID disable = yes #服務不啟動 }
如果想要啟動 Telnet 服務,則隻需要把 /etc/xinetd.d/telnet 文件中的"disable=yes"改為"disable=no"即可,"disable"代表取消,"disable=yes"代表取消是 yes,當然不啟動服務;"disable=no"代表取消是 no,當然就是啟動服務瞭。具體命令如下:
[root@localhost ~]#vi /etc/xinetd.d/telnet #修改配置文件 service telnet { …省略部分輸出… disable = no #把 yes 改為no } [root@localhost ~]# service xinetd restart #重啟xinetd服務 停止 xinetd: [確定] 正在啟動xinetd: [確定] [root@localhost ~]# netstat -tlun|grep 23 tcp 0 0 :::23 :::* LISTEN #查看端口,23端口啟動,表示Telne服務已經啟動瞭
基於 xinetd 服務的啟動都是這樣的,隻需修改 /etc/xinetd.d/ 目錄中的配置文件,然後重啟 xientd 服務即可。
基於xientd 服務的自啟動
基於 xinetd 服務的自啟動管理有兩種方法,分別是通過 chkconfig 命令管理自啟動和通過 ntsysv 命令管理自啟動。但是不能通過修改 /etc/rc.d/rc.local 配置文件來管理自啟動,因為基於 xinetd 的服務沒有自己的啟動腳本程序。我們分別來看看。
1) 使用 chkconfig 命令管理自啟動
chkconfig 自啟動管理命令可以管理所有 RPM 包默認安裝的服務,所以也可以用來管理基於 xinetd 服務的自啟動。命令格式如下:
[root@localhost ~]# chkconfig 服務名 on|off #基於xinetd的服務沒有自己的運行級別,而依靠xinetd服務的運行級別,所以不用指定--level選項
例如:
[root@localhost ~]# chkconfig telnet on #啟動Telnet服務的自啟動 [root@localhost ~]# chkconfig --list|grep telnet telnet:啟用 #查看服務的自啟動,Telnet服務變為瞭"啟用" [root@localhost ~]# chkconfig telnet off #關閉Telnet服務的自啟動 [root@localhost ~]# chkconfig --list|grep telnet telnet:關閉 #查看服務的自啟動,Telnet服務變為瞭 "關閉"
2) 使用 ntsysv 命令管理自啟動
ntsysv 命令既然可以管理所有 RPM 包默認安裝的服務,當然也能管理基於 xinetd 的服務。命令的使用方法和管理獨立的服務是一樣的,這裡就不再重復介紹瞭。
其實,如果我們仔細來看,就會發現基於 xinetd 服務的啟動和自啟動區分得並不嚴格。啟動命令也會把服務設置為自啟動,自啟動命令也會把服務設置為啟動。我們做一個實驗看看,命令如下:
[root@localhost ~]# vi /etc/xinetd.d/telnet service telnet { disable = yes ...省略部分輸出... } [root@localhost ~]# service xinetd restart 停止xinetd: [確定] 正在啟動xinetd: [確定】 [root@localhost ~]# chkconfig telnet off #先關閉Telnet服務的啟動和自啟動,保證不會對後面的實驗產生影響 [root@localhost ~]# vi /etc/xinetd.d/telnet service telnet { disable = no ...省略部分輸出... } [root@localhost ~]# service xinetd restart 停止xinetd: [確定] 正在啟動xinetd: [確定】 #然後啟動Telnet服務 [root@localho.st ~] # chkconfig --list | grep telnet telnet:啟用 #看到瞭嗎?我們一開始已經把Telnet服務的自啟動關閉瞭。後面的實驗雖然隻啟動瞭#Telnet服務,但是該服務自動變為瞭自啟動狀態
這個實驗說明瞭基於 xinetd 服務的啟動和自啟動命令之間是通用的,在當前系統中啟動瞭服務,服務的自啟動也會開啟;關閉瞭服務的自啟動,當前系統中的服務也會關閉。
到此這篇關於Linux使用xinetd服務的管理方法案例詳解的文章就介紹到這瞭,更多相關Linux使用xinetd服務的管理內容請搜索GuideAH以前的文章或繼續瀏覽下面的相關文章,希望大傢以後多多支持GuideAH!
閱讀更多:
- Linux下的Java配置與tomcat配置
- 如何使用SecureCRT連接虛擬機中的Linux?
- Linux下的如何快速安裝Hadoop
- Linux安裝activeMQ的流程及遇到的坑
- Linux dd命令詳解:數據備份,並在備份過程中進行格式轉換案例