歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

inetd.conf文件淺析

inetd.conf文件淺析   1、前言  Inetd.conf文件是Linux系統中的重要文件之一。它保存了系統提供internet服務的數據庫。通過這個文件,你可以對這些服務加以控制,如打開/關閉某項服務,使它們更為安全的運行等等很多。希望這篇文章能盡量解釋地完整。  2、域  在inetd.conf文件中每項有效的條目中都應該包含以下的域。  *服務名  * 套接字類型  * 協議類型  * wait/nowait[.max]  * 用戶名[.組]  * 服務程序  * 服務程序的參數  當然如果你要定義Sun-RPC服務,在inetd.conf文件則需要以下的類型域:  * 服務名/版本  * 套接字類型  * rpc/協議類型  * wait/nowait[.max]  * 用戶名[.組]  * 服務程序  * 服務程序的參數  服務名是在/etc/services文件中經過定義的有效服務名稱(如telnet,echo等)。如果服務被用來定義Sun-RPC服務,它就必須在/etc/rpc文件中定義。  套接字類型域包含以下幾種:  * stream - stram  * dgram - datagram  * raw - raw  * rdm - reliabl! y delivered message  * seqpacket - sequenced packet  此域取決於使用何種的套接字類型.  協議類型域必須是已經在/etc/protocols文件中定義過的類型。最常見的是tcp和udp,Sun-RPC服務要在協議前加上“rpc/”(如rpc/tcp或者rpc/udp)  Wait/nowait域只用於數據報套接字,其它的都使用nowait參數。如果服務是多線程的,意味著在與對端建立連接後將釋放套接字, inetd進程可以通過些套接字接收更多的消息,這時些用“nowait”條目。如果服務是單線程,表示服務將在同一個socket中處理所有的外來數據 報,直到超時,這種情況下使用“wait”條目。Max參數,用一個點與wait/nowait隔開,定義了inetd進程在一分鐘之內最大產生的實例數 目。  用戶域定義了服務的使用者。組參數,通過點與用戶名隔開,定義了除/etc/passwd文件中之外的可以運行服務的組ID。  服務程序是在套接字請求時執行的程序的完整路徑。如果是inted進程內置的服務,此處應為“internally”。  服務程序參數提供程序運行的所需的參數,同樣的,如果是內置服務,此處也為“internally”。  3、服務  現在來看一下不同的服務,以便加深理解。  telnet  stream  tcp     ;nowait  root    /usr/sbin/tcpd  in.telnetd  * 服務名:  telnet  * 套接字類型:  stream  * 協議類型:  tcp  * Wait/Nowait[.max]: nowait  * 用戶名[.組]:  root  * 服務程序:  /usr/sbin/tcpd  * 參數:  in.telnetd  echo  dgram  udp    wait     root  internal  * 服務名:  echo  * 套接字類型:  dgram  * 協議類型:  udp  * Wait/Nowait[.max]: wait  * 用戶名[.組]:  root  * 服務程序:  internal  rstatd/1-3 dgram rpc/udp wait root /usr/sbin/tcpd rpc.rstatd  * 服務名:  rstatd/1-3  * 套接字類型:  dgram  * 協議類型: rpc/udp  * Wait/Nowait[.max]: wait  * 用戶名[.組]:  root  * 服務程序:  /usr/sbin/tcpd  *&nb! sp;參數:  rpc.rstatd  4、開啟& 關閉 服務  非常簡單,只要在想要關閉的服務前面加上一個#,比如想要關閉23端囗,被telnet使用,只要象下面這樣。  #telnet  stream  tcp    nowait  root    /usr/sbin/tcpd  in.telnetd  這時,telnet服務已經關閉了,以後,如果我想讓朋友通過telnet訪問我的計算機,我只需要把#去掉,就象這樣。  telnet  stream  tcp    nowait  root    /usr/sbin/tcpd  in.telnetd  這時,telnet服務又被開啟,就是這麼簡單。重新啟動inetd進程讓改動生效,用下面的命令。  james:~ # killall -HUP inetd  5、守護進程  有時候在服務程序參數域中,你會看到一些選項,如:  smtp stream  tcp     nowait  root    /usr/sbin/sendmail    sendmail -bs  在上一行的末尾,有“-bs”! ,表明使用b和s參數,這同使用下面的命令有著同樣的效果:  hoodl um:~ # sendmail -bs  因此,如果你想為守護進程使用某項參數,只要把它們加入到服務程序參數域就可以了。具體的參數可以通過man進行查詢。  6、TCP Wrappers  TCP Wrappers是保護網絡服務的應用,通常用在第6列-服務程序域。  telnet  stream  tcp    nowait  root    /usr/sbin/tcpd  in.telnetd  TCP Wrappers使用兩個文件,/etc/hosts.allow和/etc/hosts.deny,限制某項服務的使用。Hosts.allow文件內是允許訪問服務的主機列表,hosts.deny內含禁止訪問服務的主機。  
Copyright © Linux教程網 All Rights Reserved