名 前
services − イ ン タ ー ネ ッ ト ネ ッ ト ワ ー ク サ ー ビ ス リ ス ト
説 明
services は 、 人 が 分 か り や す い 形 の イ ン タ ー ネ ッ ト サ ー ビ ス の 名 前 と 、 そ れ ら の サ ー ビ ス に 割 り 当 て ら れ た ポ ー ト 番 号 や プ ロ ト コ ル 種 別 の 対 応 関 係 が 書 か れ て い る テ キ ス ト フ ァ イ ル で あ る 。 ネ ッ ト ワ ー ク 上 で 動 作 す る プ ロ グ ラ ム は す べ て 、 そ の サ ー ビ ス に 対 応 す る ポ ー ト 番 号 (と プ ロ ト コ ル ) を 得 る た め に 、 こ の フ ァ イ ル を 調 べ る 必 要 が あ る 。 C ラ イ ブ ラ リ 関 数 で あ る getservent(3), getservbyname(3), getservbyport(3), setservent(3), endservent(3) を 利 用 す る こ と で 、 プ ロ グ ラ ム は こ の フ ァ イ ル を 調 べ る こ と が で き る 。 ポ ー ト 番 号 は 、 IANA (Internet Assigned Numbers Authority) に よ っ て 割 り 当 て ら れ て お り 、 現 在 は ポ ー ト 番 号 を 割 り 当 て る 際 に TCP と UDP の 両 方 の プ ロ ト コ ル を 割 り 当 て る こ と に な っ て い る 。 そ の た め 、 ほ と ん ど の サ ー ビ ス に 対 し て 、 た と え TCP だ け の サ ー ビ ス の 場 合 で あ っ て も 、 対 応 す る 項 目 が 二 つ あ る こ と に な る 。
1024 よ り 小 さ い ポ ー ト 番 号 (い わ ゆ る "low numbered" ポ ー ト ) は 管 理 者 (root) 権 限 に よ っ て の み 使 用 す る こ と が で き る (bind(2), tcp(7), udp(7) 参 照 )。 こ れ は 、 こ れ ら の ポ ー ト に 接 続 す る ク ラ イ ア ン ト に 対 し て 、 そ の ポ ー ト で 動 い て い る サ ー ビ ス が 標 準 的 な 実 装 で あ り 、 そ の 計 算 機 の ユ ー ザ ー が 動 か し て い る 不 正 な サ ー ビ ス で は な い こ と を 保 証 す る た め で あ る 。 IANA に 明 記 さ れ て い る よ く 使 用 さ れ る ポ ー ト 番 号 は 、 通 常 こ の よ う な 管 理 者 だ け が 使 用 で き る 範 囲 に 配 置 さ れ る 。
services フ ァ イ ル に あ る サ ー ビ ス に 対 す る 項 目 が あ っ て も 、 必 ず し も そ の サ ー ビ ス が 現 在 そ の 計 算 機 で 動 い て い る 訳 で は な い 。 利 用 可 能 な イ ン タ ー ネ ッ ト サ ー ビ ス の 設 定 に つ い て は inetd.conf(5) に 記 述 さ れ て い る 。 た だ し 、 す べ て の サ ー ビ ス が inetd(8) に よ っ て 起 動 さ れ る わ け で は な い の で 、 inetd.conf(5) に は 書 か れ て い な い サ ー ビ ス も あ る こ と に 注 意 す る 必 要 が あ る 。 特 に 、 ネ ッ ト ニ ュ ー ス (NNTP) や メ ー ル (SMTP) の サ ー バ ー は 、 シ ス テ ム 起 動 時 の ス ク リ プ ト か ら 起 動 さ れ る こ と が 多 い 。
services フ ァ イ ル の 場 所 は 、 <netdb.h> 中 の _PATH_SERVICES に よ っ て 定 義 さ れ て い る 。 こ の 値 は 通 常 /etc/services に 設 定 さ れ て い る 。
1 行 に つ き 1 サ ー ビ ス が 記 述 さ れ て お り 、 以 下 の 形 式 で あ る 。
service−name port/protocol [aliases ...] 各 項 目 は 以 下 の 通 り 。
service−name サ ー ビ ス を 表 す 分 か り や す い 名 前 で あ り 、 検 索 の 際 に も 使 用 さ れ る 。 大 文 字 と 小 文 字 は 区 別 さ れ る 。 ク ラ イ ア ン ト プ ロ グ ラ ム は service−name に ち な ん で 名 付 け ら れ る こ と が 多 い 。
port サ ー ビ ス に 対 し て 使 用 さ れ る ポ ー ト 番 号 。 |
10 進 数 で 指 定 す る 。 | ||
protocol 使 用 さ れ る プ ロ ト コ ル の 種 類 。 こ の 欄 は 、 |
protocols(5) フ ァ イ ル |
の 中 の 項 目 と 一 致 し て い る 必 要 が あ る 。 通 常 使 用 さ れ る 値 は 、 tcp と udp で あ る 。
aliases サ ー ビ ス に 対 す る 別 名 の リ ス ト |
(区 切 は ス ペ ー ス ま た は タ ブ ) |
で 、 こ の 欄 は 必 要 に な ら ば 書 く こ と が で き る 。 ま た 、 別 名 は 大 文 字 と 小 文 字 は 区 別 さ れ る 。 そ れ ぞ れ の 欄 の 区 切 り に は 、 ス ペ ー ス ま た は タ ブ が 使 用 さ れ る 。 コ メ ン ト は シ ャ ー プ (#) で 始 ま り 、 そ の 行 の 終 わ り ま で が コ メ ン ト と み な さ れ る 。 空 行 は 飛 ば さ れ る 。 行 の 始 め の ス ペ ー ス は 無 視 さ れ な い の で 、 service−name は 、 行 頭 か ら 書 か な け れ ば な ら な い 。 service−names は 、 ス ペ ー ス と タ ブ 以 外 の 印 字 可 能 な 文 字 な ら 何 で も よ い が 、 し か し な が ら 互 換 性 の 問 題 を 少 な く す る よ う な 文 字 を 選 択 す べ き で あ る 。 例 え ば 、 a−z 、 0−9 、 ハ イ フ ォ ン (−) を 使 用 す る の が 無 難 と 思 わ れ る 。 指 定 さ れ た 形 式 に 合 わ な い 行 は あ っ て は な ら な い (現 在 は 、 そ の よ う な 行 は getservent(3), getservbyname(3), getservbyport(3) に よ っ て 無 視 さ れ る 。 し か し 、 そ の 場 合 の 挙 動 は 信 頼 で き な い )。 こ の フ ァ イ ル は Yellow Pages/NIS や BIND/Hesiod の よ う な ネ ッ ト ワ ー ク 上 の 名 前 サ ー ビ ス を 用 い て 、 ネ ッ ト ワ ー ク を 通 じ て 配 布 さ れ る 可 能 性 も あ る 。
services フ ァ イ ル の 見 本 を 以 下 に 示 す 。
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
フ ァ イ ル
/etc/services
イ ン タ ー ネ ッ
ト ネ ッ ト ワ ー
ク サ ー ビ ス の
リ ス ト
<netdb.h>
_PATH_SERVICES の 定 義
関 連 項 目
listen(2), endservent(3), getservbyname(3), getservbyport(3), getservent(3), setservent(3), inetd.conf(5), protocols(5), inetd(8) ポ ー ト 番 号 の 割 り 当 て を 定 め て い る RFC (最 新 版 は RFC 1700、 別 名 STD0002)
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。