.\" 本man頁版權所有(C)1996 Austin Donnelly , .\" 附加資源版權(c)1995 Martin Schulze . .\" .\" 在保留了版權通告和該使用許可權通告的前提下,可以授權生成和釋出 .\" 該手冊的複製版本 .\" .\" 在所有最終工作是按照與本篇中一致的許可權通告的條例來發布並提供 .\" 了逐字複製的前提下,可以授權複製釋出該手冊的修改版本. .\" .\" 因為Linux核心和庫經常改變,該手冊頁可能會不正確或者過時.作者 .\" (們)對這些錯誤、遺漏或者因使用其中的資訊而導致的損害不承擔任 .\" 何責任.作者(們)在編寫該免費許可的手冊時,可能不是基於同樣水平 .\" 的考慮,但在專業化工作時他們會這樣做的. .\" .\" 該手冊的格式化或者處理過的版本,如果沒有包括原始檔,則必須承認 .\" 其版權以及這篇作品的作者. .\" 本man頁合併了兩個獨立編寫的man頁,一個由Martin Schulze(1995年 .\" 10月18日)完成,另一個由Austin Donnelly(1996年1月9日)完成. .\" .\" 1996年1月11日星期四12:14:41 Austin Donnelly .\" * 合併兩個services(5)man頁 .TH SERVICES 5 "1996年1月11日" "Linux 程式設計師手冊" .SH NAME(名稱) services \- Internet 網路服務列表 .SH DESCRIPTION(描述) .B services 是一個普通的 ASCII 碼檔案, 它在 internet 服務的友好原文名以及這些服務預先分配的 埠和協議型別之間提供了對映. 每個聯網程式必須查詢該檔案以獲取 其服務的埠號(和協議). C 庫例程 .BR getservent (3), .BR getservbyname (3), .BR getservbyport (3), .BR setservent (3), 和 .BR endservent (3) 支援由程式查詢該檔案. 埠號由 IANA(Internet Assigned Numbers Authority) 分配, 他們當前的工作是分配埠號時, 指定 TCP 和 UDP 協議. 這樣, 大多數記錄會包括兩條子記錄, 即使只是 TCP 的服務也是如此 埠號在 1024 之下的(也稱作'低編碼'埠)只能由 root (參見 .BR bind (2), tcp (7), 和 udp (7).) 繫結. 這樣連線到低編碼埠的客戶可信任執行在該埠上的服務是標準的實現, 而不是由某臺機器的使用者執行的無聊的服務.由 IANA 確定的眾所周知的埠號通常只在 root 的控制範圍之內 在 .B services 檔案中出現的一條服務記錄並不表示該服務當前在機器上執行.參見 .BR inetd.conf (5) 以獲知提供的Internet服務的配置.注意不是所有聯網服務都由 .BR inetd (8) 啟動,因而也不會出現在 .BR inetd.conf (5) 之中. 特別地,news (NNTP)和mail (SMTP)服務程式通常由系統引導指令碼初始化. .B services 檔案所存放的位置由 .IR /usr/include/netdb.h 中的 .B _PATH_SERVICES 定義. 它通常設為 .IR /etc/services . 每行描述了一個服務,其格式如下: .IP \f2服務名\ \ \ 埠\f3/\f2協議\ \ \ \f1[\f2別名 ...\f1] 這裡的 .TP 10 .I 服務名 是給服務所起的可供查詢的友好的名字.它是區分大小寫的.通常,客戶端程式都以 .IR 服務名 命名. .TP .I 埠 為該服務所用的埠號(十進位制格式). .TP .I 協議 為所使用的協議型別.該欄位應與 .BR protocols (5) 檔案中的一條記錄相匹配.典型的值包括 .B tcp 和 .BR udp . .TP .I 別名 可以空缺,或者是以tab分隔的該服務的其他名字的列表(不過請檢視下面的BUGS章節).同樣, 這些名字也是區分大小寫的. .PP 可以使用空格或者tab分隔這些欄位. 註釋以hash標識(#)開頭,一直到該行末結束.空行可跳過. .I 服務名 必須是該檔案的第一列,因為其前面的空格不會刪去. .I 服務名 可以為任何可列印的字元,包括空格和tab,但是,應該使用字元的保守選擇來最低限度地減少 操作中的問題.例如:a-z,0-9,和連字元(\-)看上去就是一個合理的選擇. 不匹配該格式的行不應該在該檔案中出現.(當前情況下, .BR getservent (3), getservbyname (3), 和 getservbyport (3) 可以忽略它們.不過,不應該依靠這種方法.) 為了向後相容,在 .I 埠 號和 .I 協議 名之間的斜槓(/)實際可以為斜槓或者是逗號(,).在現代的安裝中使用逗號是落後的. 該檔案也可以透過使用網路級命名服務如黃頁/NIS(Yellow Pages/NIS)或BIND/Hesiod來在一 個網路中釋出. 一個 .B services 的樣本檔案看上去如下: .RS .nf .sp .ta 3i netstat 15/tcp qotd 17/tcp quote msp 18/tcp # message send protocol msp 18/udp # message send protocol chargen 19/tcp ttytst source chargen 19/udp ttytst source ftp 21/tcp # 22 - unassigned telnet 23/tcp .sp .fi .RE .SH BUGS 最大隻能有35個別名,這是由 .BR getservent (3) 程式碼的寫入方式決定的. 比 .B BUFSIZ (當前為1024)個字元更長的行, .BR getservent (3), getservbyname (3), and getservbyport (3) 會忽略掉. 不過,這也會導致錯過下一行. .SH FILES(相關檔案) .TP .I /etc/services Internet網路服務列表 .TP .I /usr/include/netdb.h .B _PATH_SERVICES 的定義 .SH SEE ALSO(另見) .BR getservent (3), .BR getservbyname (3), .BR getservbyport (3), .BR setservent (3), .BR endservent (3), .BR protocols (5), .BR listen (2), .BR inetd.conf (5), .BR inetd (8). 分配號碼RFC,最新的RFC 1700,(AKA STD0002) 黃頁服務的指南 BIND/Hesiod服務的指南 .SH "[中文版維護人]" .B riser .SH "[中文版最新更新]" .B 2000/11/01 .SH "《中國linux論壇man手冊頁翻譯計劃》:" .BI http://cmpp.linuxforum.net .SH "跋" .br 本頁面中文版由中文 man 手冊頁計劃提供。 .br 中文 man 手冊頁計劃:\fBhttps://github.com/man-pages-zh/manpages-zh\fR