xinetd服務

xinetd(eXtended InterNET services daemon)shell

1、xinetd的功能介紹:
x inetd提供相似於inetd+tcp_wrapper的功能,可是更增強大和安全。它能提供如下特點:
* 支持對tcp、udp、 RPC服務(可是當前對RPC的支持不夠穩定)
* 基於時間段的 訪問控制
* 功能完備的log功能,便可以記錄鏈接成功也能夠記錄鏈接失敗的行爲
* 能有效的防止 DoS攻擊(Denial of Services)
* 能限制同時運行的同一類型的服務器數目
* 能限制啓動的全部服務器數目
* 能限制log文件大小
* 將某個服務綁定在特定的系統接口上,從而能實現只容許私有網絡訪問某項服務
* 能實現做爲其餘系統的代理。若是和ip假裝結合能夠實現對內部私有網絡的訪問
它最大的缺點是對RPC支持的不穩定性,可是能夠啓動portmap,與x inetd共存來解決這個問題。
 
2、使用xinetd啓動守護進程
原則上任何系統服務均可以使用xinetd,然 而最適合的應該是那些經常使用的網絡服務,同時,這個服務的請求數目和頻繁程度不會過高。像DNS和Apache就不適合採用這種方式,而像FTP、 Telnet、SSH等就適合使用xinetd模式,系統默認使用xinetd的服務能夠分爲以下幾類。
① 標準Internet服務:telnet、ftp。
② 信息服務:finger、netstat、systat。
③ 郵件服務:imap、imaps、pop二、pop三、pops。
④ RPC服務:rquotad、rstatd、rusersd、sprayd、walld。
⑤ BSD服務:comsat、exec、login、ntalk、shell、talk。
⑥ 內部服務:chargen、daytime、echo、servers、services、time。
⑦ 安全服務:irc。
⑧ 其餘服務:name、tftp、uucp。
具體 可使用xinetd的服務在/etc/services文件中指出。
 
3、xinetd的主配置文件:/etc/xinetd.conf
 

 

   1.內容格式以下:安全

 

     注:那個 assign_op 主要有三種形式,分別以下:bash

 = : 表示後面的設定參數就是這樣啦!
+= : 表示後面的設定爲『 在原來的設定集合中裏頭加入新的參數
-+ : 表示後面的設定爲『 在原來的參數集合中捨棄這裏輸入的參數!』
接下來,再來講一說那些 attribute 與 value ! 
2.xinetd共有45個屬性,你能夠經過man xinetd.conf得到英文原文,屬性列表如表4-3所示。
表4-3  xinetd的屬性列表
屬性選項
功能描述
id
該屬性被 用來惟一地指定一項服務。由於有些服務的區別僅僅在於使用不一樣的協議,所以須要使用該屬性加以區別。默認狀況下,id和 服務名相同。如 echo 同時支持 dgram stream 服 務。設置 id=echo_dgram 和id=echo_stream來 分別惟一標誌兩個服務
type
 
能夠是下 列一個或多個值。
 
RPC: RPC類 型的服務。
 
INTERNAL: 由 xinetd 自身提供的服務,如 echo。
UNLISTED: 沒有列在標準系統文件如 /etc/rpc /etc/service中 的服務
flags
 
能夠是如下一個或多個選項的任意組合。
 
REUSE:設置 TCP/IP socket 可重用。也就是在該服務 socket 中設置 SO_REUSEADDR 標 志。當中斷 時從新 啓動 xinetd。
INTERCEPT: 截獲數據包進行訪問檢查,以肯定是否來自於容許進行鏈接的位置。 INTERNAL服務和多線程服務不可以使用 該屬性值。
續表 
屬性選項
功能描述
flags
 
NORETRY:若是 fork 失 敗, 不重試。
 
IDONLY:只有在遠程 端識別遠程用戶時才接受該鏈接(也就是遠程系統必須運行 ident 服務器),該標記只適用於面向鏈接的服 務。若沒有使用 USERID 記錄選項,則該標記無效, log_on_success log_on_failure 屬 性設置 USERID值以使該值生效。僅用於多線程的流服務。
 
NAMEINARGS:允 許 server_args 屬性中的第一個參數 是進程 的徹底合 法路徑,此時, server 屬性採用 inetd 的方式來指定 (此標籤的做用是代表該服務採用 tcpd 的方式來處理,而不是 tcp  wrapper , 參見 NOLIBWRAP標記)。
 
NODELAY: 若 服務 tcp 服務,而且 NODELAY 標 記被設置,則 TCP_NODELAY 標記將被設置。 若服務 不 是 tcp服務,則該標記無效。
 
DISABLE:具備 DISABLE 標 記的服務表示被禁用。該標記將覆蓋 enable 的指定,即若是你指定了 enable=foo , 若 foo 具備 DISABLE 標記,那麼 foo仍 將被禁用。使用了該標記的服務不會被提醒。
KEEPALIVE:若是一個 tcp 服 務設置了 KEEPALIVE 標記,那麼該服務的 socket 將 被設置 SO_KEEPALIVE 標記,對非 TCP類型的服務 設置該標記無任何做用。
flags
 
NOLIBWRAP:禁用 tcpwrap   庫 來決定 一個服務的請求訪問控制。 xinetd ,須要長時間 的運行(系統啓動後一直運行),一直調用 libwrap 函數庫是不可取的,這種類型的服務就須要設置該標 記,它們能夠直接調用而無須調用 libwrap 函數庫來控制 訪問請求(參見 NAMEINARGS標 記)。
SENSOR: 該標記的做用是使用一個傳感器( SENSOR )來代替當前的服務。使用該標記須要注意幾個問題:其一,你應 當確認該服務是你不須要的或者是你不想提供該服務;其二,它不能覺察祕密的掃描動做;其三,它將覺察該服務指定端口的請求,並記錄到做用於全局的 no_access 列 表中,這就使得請求過該服務的 IP deny_time 指定 的時間過時以前一直都拒絕訪問;其四,它還使得 xinetd 認爲該服務的 server 屬 性是 INTERNAL ;其五,若是使用了該標記的 socket_type stream 的 服務設置,你須要設置 wait 爲no
disable
能夠設置爲yes no , 設置爲 yes 將禁用一個服務,詳見 flags disable標 籤
socket_type
使用的TCP/IP socket 類型, 值可能 stream TCP ), dgram UDP ), raw seqpacket(可 靠的有序數據包)
protocol
指定該服務使用的協議,其值必須是在/etc/protocols中 定義的。若是不指定,使用該項服務的默認協議
wait
這個屬性 有兩個可能的值。若是是yes ,那麼 xinetd 會啓動對方 請求的進程,並中止處理該項服務的其餘請求直到該進程終止,適合於單線程服務;若是是 no ,那 xinetd會 爲每一個請求啓動的一個進程,而無論先前啓動的進程的狀態,適合於多線程服務
user
設置服務進程的UID 。 若 xinetd 的有效 UID 不是 0, 該屬性無效
group
設置 進程的GID 。若 xinetd 的有效 UID 不 是 0,該屬性無效
instances
接受 一個大於或等於1 的整數或 UNLIMITED 。設置可同時運 行的最大進程數。 UNLIMITED 意味着 xinetd對該 數沒有限制
nice
指定 進程的nice值。它決定了服務的優先級,參數值是某個數字,能夠爲負數
server
要激 活的進程,必須指定完整的路徑
server_args
指定 傳送給該進程的參數,可是不包括服務程序名
only_from
 
用空 格分開的容許訪問服務的客戶機列表。若是不爲該屬性指定一個值,就拒絕任何人訪問這項服務。該屬性支持全部操做符。訪問控制表的語法以下:
 
a) 用數字表示的 IP 地址,格式爲 %d. %d. %d. %d 。 若是最右邊的一位是 0 ,將被看做通配符。舉例來講, 10.35.1.0 表 示 10.35.1 段內的任何地址都知足條件;若是地址是 0.0.0.0 , 則匹配全部的 IP地址。
 
b) 分解列出的 IP 地址,格式爲 %d. %d. %d .{  %d. %d } 。固然,並非必定要四個部分都列出,例如, %d. %d.{ %d. %d } ,這樣的格式也是能夠的,然而,被分解列出的部分必須 在最後面,例如, %d.{ %d. %d }.%d.%d, 這樣的格式是不容許的。
c) 網絡名。 /etc/networks中的網絡名。
續表 
屬性選項
功能描述
only_from
 
d) 主機名或域名。當一個 IP 地址鏈接到 xinetd 上的時候, 它會對這個 IP進行反向解析,得出相應的主機名,而後與指定的主機名進行比較,查看是否匹配。固然也可使 用域名,道理是同樣的。
e) 網絡 / 子網。格式爲 IP Address/netmask , 例如,1.2.3.4/32
no_access
 
用空格分開的拒絕訪問服務的客戶機列表 。該屬性支持全部操做符,訪問控制表的語法參見 only_from。
Only_from和 no_access 決 定了一個遠程鏈接可否訪問某個服務。若是這兩個屬性都沒有設置,那麼任何人均可以請求該服務;若是都設置了,那麼,最匹配的那個記錄優先。例如,你在 only_from 中 設定了 10.35.1.0 能夠訪問,而後又在 no_access 中 設定 10.35.1.10 禁止訪問,那麼, 10.35.1 段 內除了 10.35.1.10 外的 IP地址均可以訪問
access_time
設置 服務的可用時段,也就是說,在哪一段時間裏可使用本服務 。格式是 hh:mm_hh:mm ; 08 00-18 00 , 意味着從 8AM 6PM可以使用這項服務
log_type
 
指定 服務log的記錄方式。
 
SYSLOG facility[level]:設置 facility daemon auth user local0-7 level 是 可選的,可用的 level 值爲 emerg alert crit err warning notice info debug , 默認值爲 info。
file[soft[hard]]: 指定用 file 記錄 log ,而不是 syslog 。 限度 soft hard KB 指 定(可選)。一旦達到 soft 限, xinetd 就登記一條消 息。一旦達到 hard 限, xinetd 停 止登記使用該文件的全部服務。若是不指定 hard 限,它爲 soft 1 % , 但默認時不超過 20MB ,默認 soft 限是5MB
log_on_success
 
指定 成功時登記的信息,默認時不登記任何信息。該屬性支持全部操做符。可能的值有如下幾種。
 
PID: 進程的 PID 。若是一個新進程沒被分叉, PID 設置爲 0。
 
HOST: 客戶機 IP地址。
 
USERID: 經過 RFC1413 調用捕獲客戶機用戶的 UID。只可用於多 線程的流服務。
 
EXIT: 登記進程終止的狀態。
DURATION: 登記會話持續期
log_on_failure
 
指定 失敗時登記的信息。老是登記代表錯誤性質的消息,默認時不登記任何信息。該屬性支持全部操做符。可能的值是有如下幾種。
 
ATTEMPT: 記錄一次失敗的嘗試,全部其餘值隱含爲這個值。
 
HOST: 客戶機 IP地址。
 
USERID: 經過 RFC1413 調用捕獲客戶機用戶的 UID。只可用於多 線程的流服務。
RECORD: 記錄附加的客戶機信息,如本地用戶、遠程用戶和終端的類型
rpc_version
指定RPC 版 本號或服務號。版本號能夠是一個單 值或者 一個範圍,如2~3
rpc_number
若是RPC 程 序號不在 /etc/rpc中,就指定它
env
用空 格分開的VAR=VALUE 表,其中 VAR 是一個 shell 環 境變量, VALUE是其設置值。這些設置在服務被激活時被追加到服務的環境變量中。這個屬性支持=和+=操 做符
passenv
用空格分開的xinetd 環 境中的環境變量表,該表在激活時傳遞給服務程序。若是設置的值爲空就不傳送任何變量(除了在 env中指定的 變量)。該屬性支持全部操做符
port
定義該項服務相關的端口號。若是該服務在/etc/services中 列出,它們必須匹配
redirect
該屬性語法爲redirect=Ipaddress port 。它把 tcp 服務重定向到另外一個系統。若是使用該屬性,就忽略 server屬 性
bind
把一項服務綁定到一個特定界面。語法是bind=ipaddress/interface 。 這意味着你的 telnet服務能夠監聽一個本地的安全的端口,而不是一個外部的界面。或者,同一個端口在某 個網絡界面上能夠作某件事情,同時,在另外一個界面上能夠作徹底不一樣的事情
interface
等同於bind
banner
不管該鏈接是否被容許,當 創建鏈接時就將該文件顯示給客戶機
banner_success
當鏈接受權經過時顯示 banner_success指 定的文件中包含的信息
續表 
屬性選項
功能描述
banner_fail
當客 戶端的請求違反控制規則時顯示 banner_fail指定的文件中包含的信息,以告 知用戶他們正在試圖請求不被容許的服務
per_source
參數值 能夠 爲整數或者 UNLIMITED 關鍵字。它表示每個 IP 地 址上最多能夠創建的實例數目。本屬性也能夠定義在 defaults部分
cps
用來 設定鏈接速率。它須要兩個參數,第一個參數表示每秒能夠處理的鏈接數,若是超過了這個鏈接數時,以後 進入的 鏈接將被暫時中止處理;第二個參數表示中止處理 多少秒後,繼續處理先前暫停處理的鏈接
max_load
用一 個浮點數做爲負載係數,當負載達到這個數目的時,該服務將中止處理後續的鏈接
groups
能夠 設置爲yes no 。若是設置爲 yes , 將容許對該服務起做用的組中包含的用戶來訪問,若是設置爲 no ,將設置服務進程的 GID 。 若是 xinetd 的有效 GID 不是 0 , 則該屬性無效。在 BSD 類的系統上,不少服務須要設置該屬性爲 yes , 這個屬性也能夠設置在 defaults部分
umask
設置 服務所繼承的umask 。參數 值應該 是一個八進制數字,該屬 性也能夠設置到 defaults 項中。 xinetd 本身的 umask 默 認是 022 ,若是你沒有設置 umask 屬性,那麼全部 xinetd 子 進程 umask 將都是022
enabled
其參 數值是一個服務名稱的列表,表示該列表中的服務將被啓用,其他的則不被啓用。然而,若是某個服務設置使用了disable 或 者 DISABLE 標記( flag ),即便該服務被設置在 enabled 列 表中,也不會被啓用。參見 disable 屬性和 flags DISABLE標 記
disabled
只可 用於defaults 項,指定被關閉的服務列表,是用空格分開的、 可 用的服務列表來表示的。它和在 /etc/xinetd.conf 文件中 註釋掉該服務項 有相同的效果
include
使用 「include /etc/xinetd.d/service_name 」這樣的格式來引入一個文件。這 跟直接將引入文件的內容放到 xinetd.conf 中是不一樣的,由於那裏默認已經有了 include 指 令。須要注意的是,其一,被引入文件的格式應該是跟 xined.conf格式相同;其二,不能夠在某個服務 的聲明部分使用此指令,應當放在聲明以外的地方
includedir
使用 「includedir  /etc/xinetd.d 」這樣的格式引入一個目錄做爲 xinetd 配 置文件的存放目錄。指定目錄下除了文件名包括點號( . )或者以引號( 「 」 ) 結束的文件,都將視做 xinetd 的服務配置文件。跟 include指 令同樣,該指令也不能夠放在服務的聲明部分
rlimit_as
設置 服務的地址資源限制。參數值應該 是以字節爲單位的正整數或者 UNLIMITED 關 鍵字。因爲 libc  malloc 的實現機制,在 Linux 系 統上設置該屬性比設置 rlimit_rss rlimit_data rlimit_stack 屬 性更有效,這個資源限制的屬性只能夠在 Linux系統上設置
rlimit_cpu
設置 服務最多可佔用的CPU 秒數。參數 值應該 是以秒爲單位的正整 數或者 UNLIMITED關鍵字
rlimit_data
設置 服務的最大數據量。參數值應該 是以字節爲單位的正整數或者 UNLIMITED關 鍵字
rlimit_rss
設置 服務的最大常駐內存。參數值應該 是以字節爲單位的正整數或者 UNLIMITED關 鍵字
rlimit_stack
設置 服務的最大堆棧大小。參數值應該 是以字節爲單位的正整數或者 UNLIMITED關 鍵字
deny_time
設置 對於全部IP ,全部服務的訪問被禁用的時間長度。參數 值能夠 是 以分鐘爲單位的正整數、 FOREVER NEVER 。若是你 設置爲 FOREVER ,在 xinetd 重啓以前一直有效; NEVER 只 對那些非法的 IP 地址有效;數字通常設置爲 60 ,設置爲這個 數值基本就能夠防範 DoS 攻擊了。須要注意的是,這個標記必須與 SENSOR 標 記( flags)結合使用

3.基本屬性

上 面的列表是xinetd可用的全部屬性,然而,針對一個服務並不須要指定上面全部的屬性,其實必需的屬性只有幾個,如表4-4所示。
表4-4  xinetd設定服務必需的屬性
xinetd 設定服務必需的屬性
   
適用範圍
socket_type
全部服務
user
Non_internal service only 非內部服務
server
Non_internal service only 非內部服務
wait
全部服務
protocol
不在 /etc/services 中 的全部 RPC 服務和全部其餘服務
rpc_vision
全部 RPC 服 務
rpc_number
不列在 /etc/rpc 中 的任何 RPC 服務
port
不在 /etc/services 中 的非 RPC 服務

4.支持多操做符的屬性

對 於大多數的服務而言,在針對一個服務的設定中操做符只能出現一次,並只支持=操做符,然而,下面的六個屬性能夠支持多個操做符,如表4-5所示。
表4-5  支持多操做符的屬性
支持多操做符的屬性
   
支持範圍
only_from
支持全部 操做符
no_access
log_on_success
log_on_failure
passenv
env
不支持 - = 操 做符

5.默認屬性

defaults項是實現爲全部服務指定某些屬性的默認值。這些默認值可被每一個服務項取消或修改。表4-6列出可在defaults項中指定的屬性。這個表也指明瞭具體服務項中能夠修改哪些屬性。
表4-6  可用的defaults屬性
可用的 defaults 屬 性
   
適用範圍
log_on_success
能夠用 = 操做符改寫,或用 + = - = 操 做符修改
log_on_failure
only_from
no_access
passenv
instances
能夠用 = 操做符改寫
log_type
disabled
註銷掉的服務
enabled
指定啓用的服務

6.disabled與enabled

前者的參數是禁用的服務列表,後者的參數是啓用 的服務列表。他們的共同點是格式相同(屬性名、服務名列表與服務中間用空格分開,例如disabled = in.tftpd in.rexecd),此外,它們都是做用於全局的。若是在disabled列表中被指定,那麼不管包含在列表中的服務是否有配置文件和如何設置,都將被 禁用;若是enabled列表被指定,那麼只有列表中的服務纔可啓動,若是enabled沒有被指定,那麼disabled指定的服務以外的全部服務均可 以啓動。

7.注意問題

① 在從新配置的時候,下列的屬性不能被改變:socket_type、wait、protocol、type;
② 若是only_from和no_access屬性沒有被指定(不管在服務項中直接指定仍是經過默認項指定),那麼對該服務的訪問IP將沒有限制;
③ 地址校驗是針對IP地址而不是針對域名地址。
  

4、xinetd能有效地防止拒絕服務攻擊 (Denial of Services)的緣由以下:服務器

    1.限制同時運行的進程數
    經過 設置instances選項設定同時運行的併發進程數:
    instances=20
    當服務器被 請求鏈接的進程數達到20個時,xinetd將中止接受多出部分的鏈接請求。直到請求鏈接數低於設定值爲止。
    2.限制一個IP地址的最大鏈接數
    經過限制一個主機的最大鏈接數,從而防止某個主機獨佔某個服務。
    per_source=5
    這裏每一個IP地址的鏈接數是5個。
    3.限制日誌文件大小,防止磁盤空間被填滿
    許多 攻擊者知道大多數服務須要寫入日誌。入侵者能夠構造大量的錯誤信息併發送出來,服務器記錄這些錯誤,可能就形成日誌文件很是龐大,甚至會塞滿硬盤。同時會 讓管理員面對大量的日誌,而不能發現入侵者真正的入侵途徑。所以,限制日誌文件大小是防範拒絕服務攻擊的一個方法。
    log_type FILE.1 /var/log/myservice.log 8388608 15728640
    這裏設置的 日誌文件FILE.1臨界值爲8MB,到達此值時,syslog文件會出現告警,到達15MB,系統會中止全部使用這個日誌系統的服務。
    4.限制負載
    xinetd 還可使用限制負載的方法防範拒絕服務攻擊。用一個浮點數做爲負載係數,當負載達到這個數目的時候,該服務將暫停處理後續的鏈接。
    max_load = 2.8
    上面的設定 表示當一項系統負載達到2.8時,全部服務將暫時停止,直到系統負載降低到設定值如下。
    說明  要使用這個選項,編譯時應加入「--with-loadavg」,xinetd將處理max-load配置選項,從而在系統負載太重時關閉某些服務進程, 來實現防範某些拒絕服務攻擊。
    5.限制全部服務器數目(鏈接速 率)
    xinetd 可使用cps選項設定鏈接速率,下面的例子:
    cps = 25 60
    上面的 設定表示服務器最多啓動25個鏈接,若是達到這個數目將中止啓動新服務60秒。在此期間不接受任何請求。
    6.限制對硬件資源的利用
    通 過rlimit_as和rlimit_cpu兩個選項能夠有效地限制一種服務對內 存、中央處理器的資源佔用:
    rlimit_as = 8M
    rlimit_cpu=20
    上面的 設定表示對服務器硬件資源佔用的限制,最多可用內存爲8MB,CPU每秒處理20個進程。
    xinetd的一個重要功能是它可以控制從屬服務能夠利用的資源量,經過它的以上設置能夠達到這 個目的,有助於防止某個xinetd服務佔用大量資源,從而致使「拒絕服 務」狀況的出現。

當 然上面的參數不須要每一個都設定啦!只要設定須要的就能夠啦!而在 /etc/xinetd.conf 這個文件中,必定會看到『 includedir = /etc/xinetd.d 』這一行!這說明的是,除了 /etc/xinetd.conf 以外,全部在 /etc/xinetd.d 的文件都是能夠用來設定的啦!網絡

5、用telnet來舉例說明:多線程

    /etc/xinetd.d/telnet,內容以下:併發

 

上面的表格中,已經說明了每一項參數的意義!若是本來的默認值你並不滿意,那麼你能夠修改爲比較安全與多一點機制。假設你這個 Linux 是一部主機,並且他有兩塊網絡接口,分別是對外的 140.116.44.125 與對內的 192.168.0.254 這兩個,若是你想要讓對內的接口限制較鬆,而對外的限制較嚴格,你能夠這樣的來設定呢: app

對內較爲鬆散的限制設定:socket

 

對外較爲嚴格的限制設定:tcp

 

呵呵!如上面的設定,咱們能夠將 telnet 的啓動項目進行更多的限制!如此一來,將有助於咱們的安全防禦呢!尤爲若是能夠針對不一樣的接口來設定,嘿嘿!就更加的棒囉!不過,請注意喔!若是照上面的設定,那麼您的主機上面將會開了兩個 23 port 的接口,分別是給兩個接口來使用的呢!嗯!真好玩?一樣的,你也能夠針對本身的喜愛來設定你的其它 daemon 使他掛在 xinetd 底下呢!

6、SENSOR + DENY_TIME的使用

使用rlogin和krb5-telnet來進行實驗:

   一、yum install rsh-server -y

   二、yum install krb5-workstation -y

   三、對krb5-telnet進行配置:

service telnet

{
disable    = no  #將telnet服務設置爲啓用。若是disable = yes  表示禁用服務。
flags      = SENSOR  #設置爲SENSOR,拒絕條件觸發後,將在全局生效,即全部被xinetd託管的服務都有效
deny_time  = 2       #拒絕2分鐘
no_access  = 192.168.0.3   #拒絕的IP範圍
socket_type = stream
wait       = no
user       = root   #指定程序用什麼身份來執行
server     = /usr/sbin/in.telnetd   #xinetd服務託管的程序,當被觸發時就啓動該程序來監聽
access_times = 9:00-18:00    #容許訪問的時間段爲早上9點到下午6點
bind       = 192.168.0.100   #在指定的網絡接口上監聽 (在有多個網卡多個IP時,能夠精確控制)
cps        = 25 30    #在同一時刻,有25個鏈接數,則暫停鏈接30秒
per_source = 15       #限制每一個源IP最大隻能有15個併發鏈接
}
具體講講一下三行:
flags      = SENSOR
deny_time  = 2
no_access  = 192.168.0.3
做用:禁止192.168.0.3的IP來使用telnet鏈接本機,若是他telnet鏈接了本機,那麼被xinetd所管理的所有服務都禁止192.168.0.3來訪問,禁止訪問的時間爲2分鐘。SENSOR模式表示讓xientd所管理的所有服務都生效改配置。

    四、進行測試:telnet 192.168.0.y;rlogin 192.168.0.y

7、向xinetd添加新服務

   例:添加一個TCP服務,開啓26端口的服務程序wushank

     一、在/etc/services文件中添加服務和端口信息:

             wushank    26/tcp            #test

     二、在/etc/xinetd.d目錄下生成服務文件,具體以下:  

 

      三、建立/bin/wushank腳本:

                #!/bin/bash
                date +%F" "%T
                echo "welcome to you"

      四、重啓服務:service xinetd restart

      五、測試結果以下:

相關文章
相關標籤/搜索