Linux系統(tǒng)服務(wù)之inetd
inetd進(jìn)程介紹:
inetd程序是一個Linux守護(hù)進(jìn)程。您可能已經(jīng)知道守護(hù)進(jìn)程是一些特殊的程序:它們在被啟動之后,自愿放棄對調(diào)用自己終端的控制權(quán)。守護(hù)進(jìn)程與系統(tǒng)其余部分的接口只有依靠進(jìn)程間通信(Interprocess Communication,IPC)通道、或者依靠向系統(tǒng)全局性日志文件(Log File)才能發(fā)送數(shù)據(jù)項。
inetd的角色是作為Telnet和FTP等與網(wǎng)絡(luò)服務(wù)器相關(guān)的進(jìn)程的“超級服務(wù)器”。這是一個簡單的道理:并不是全部的服務(wù)器進(jìn)程(包括那些接受新的Telnet和FTP連接的進(jìn)程)都會如此頻繁地被調(diào)用,以至于必須要有一個程序隨時運行在內(nèi)存中。因此為了避免出現(xiàn)可能有幾十種服務(wù)都運行在內(nèi)存中準(zhǔn)備被使用的情況,它們都列在inetd的配置文件/etc/inetd.conf中。而代替它們的是inetd監(jiān)聽著進(jìn)入的連接。這樣只需要有一個進(jìn)程在內(nèi)存中就可以了。
inetd的另外一個優(yōu)點是程序員并不想把需要網(wǎng)絡(luò)連接的進(jìn)程都編寫到系統(tǒng)中去。inetd程序?qū)⑻幚砭W(wǎng)絡(luò)代碼,并把進(jìn)入的網(wǎng)絡(luò)數(shù)據(jù)流作為各個進(jìn)程的標(biāo)準(zhǔn)輸入(Standard-In,即Stdin)傳遞到其中。這些進(jìn)程的輸出(Stdout)將會被送回連接到該進(jìn)程的主機(jī)去。
注意:除非你正在進(jìn)行編程,否則是不需要連接到inetd的Stdin/Stdout功能上。從另一方面來說,如果有人打算編寫一個簡單的命令腳本程序并讓它出現(xiàn)在網(wǎng)絡(luò)中,就值得深入研究這個極為強(qiáng)大的功能。
1.etc/inetd.conf文件
etc/inetd.conf文件是inetd的配置文件。它的結(jié)構(gòu)很簡單:每一行語句代表一種服務(wù)。服務(wù)定義語句的格式如下所示:
srvce_name sock_type protocol [no]wait user srvr_prog srvr_prog_args
2.安全性與inetd.conf文件
你將會發(fā)現(xiàn)在大多數(shù)的linux安裝中,許多服務(wù)在缺省的情況下是打開的。如果你的系統(tǒng)將向因特網(wǎng)開放(包括通過撥號點對點協(xié)議被連通),你想做的第一件事就會是把一切都關(guān)閉!決不要假設(shè)因為你的系統(tǒng)沒有對公眾進(jìn)行宣傳,別人就不會找到它。從相反的方向看,尋找存在安全性攻擊隱患系統(tǒng)的工具軟件是既容易找到又容易使用的。
關(guān)閉服務(wù)的第一個步驟是把etc/inetd.conf文件里所有用不著的服務(wù)性說明語句都改為注釋語句。
一般來說,你會發(fā)現(xiàn)下面的方法更容易使用:先把全部東西都改為注釋語句(徹底關(guān)閉網(wǎng)絡(luò)服務(wù)),再有選擇地打開需要的服務(wù)。
在完成對etc/inetd.conf文件的修改之后,需要向守護(hù)進(jìn)程報告其配置文件已經(jīng)被修改了。這是通過向該守護(hù)進(jìn)程發(fā)送HUP信號來實現(xiàn)的。先使用下面的命令找出inetd.conf對應(yīng)的進(jìn)程ID:
[ root@ford /root ] # ps auxw | grep inetd | grep -v grep
這個命令的輸出類似于下面的內(nèi)容:
root 359 0.0 0.1 1232 168 ? S Jun21 0 : 00 inetd
輸出中的第二列告訴我們進(jìn)程ID號(這里就是359)。為了發(fā)送HUP信號,我們需要使用Kill命令(把這個程序叫做Kill多少有些誤導(dǎo)。實際上,它只是向進(jìn)程發(fā)送信號而已。缺省的情況下,它會發(fā)出請求某個程序終止運行的信號)。
下面是使用Kill命令發(fā)送HUP信號的方法:
$ kil -1 359
應(yīng)該把上面命令中的359換成從你的系統(tǒng)上得到的進(jìn)程編號。
上面文章介紹了linux系統(tǒng)服務(wù)中的inetd,希望大家有所收獲。
【編輯推薦】
- Linux系統(tǒng)服務(wù)之init
- Linux服務(wù)器集群系統(tǒng)之實現(xiàn)虛擬服務(wù)器的相關(guān)方法
- 如何來量身定制安全的Linux系統(tǒng)服務(wù)平臺
- Fedora Core Linux系統(tǒng)服務(wù)器的調(diào)試手記
- Linux系統(tǒng)服務(wù):Apache與Tomcat整合技巧
- 管理Linux的inetd服務(wù)器
- 4.3.4 解讀/etc/xinetd.conf和/etc/xinetd.d/*
- 自己動手應(yīng)用Suse Linux開啟Ftp/xinetd