名 前
rpc.ypxfrd − NIS マ ッ プ 転 送 サ ー バ ー
書 式
/usr/sbin/rpc.ypxfrd
[ −d path ] [ −p port ] [
−−debug ]
/usr/sbin/rpc.ypxfrd −−version
説 明
rpc.ypxfrd は 非 常 に 大 き な NIS マ ッ プ を NIS マ ス タ ー か ら NIS ス レ ー ブ サ ー バ ー に 転 送 す る 際 に 、 転 送 を 高 速 化 す る た め に 用 い ら れ る 。 NIS ス レ ー ブ サ ー バ ー は 、 新 し い マ ッ プ が あ る と い う メ ッ セ ー ジ を 受 け 取 る と 、 そ の マ ッ プ を 取 得 す る た め に ypxfr を 起 動 す る 。 ypxfr は yp_all() 関 数 を 用 い て マ ッ プ の 内 容 を マ ス タ ー サ ー バ ー か ら 読 み 込 も う と す る 。 こ の 情 報 は デ ー タ ー ベ ー ス ラ イ ブ ラ リ を 通 し て 保 存 さ れ る た め 、 マ ッ プ の サ イ ズ が 非 常 に 大 き く な る と 、 こ の プ ロ セ ス は 数 分 も か か っ て し ま う こ と が あ る 。
rpc.ypxfrd サ ー バ ー は 、 NIS ス レ ー ブ サ ー バ ー に マ ス タ ー の マ ッ プ フ ァ イ ル を 単 純 に コ ピ ー さ せ 、 転 送 プ ロ セ ス を 高 速 化 す る 。 ス レ ー ブ サ ー バ ー が ゼ ロ か ら マ ッ プ を 生 成 す る の に 比 べ 、 こ れ は ず っ と 短 時 間 で す む 。 rpc.ypxfrd は RPC ベ ー ス の 転 送 プ ロ ト コ ル を 用 い る の で 、 新 し い マ ッ プ を 生 成 す る 必 要 は な く な る 。
rpc.ypxfrd は inetd か ら 起 動 す る こ と も で き る が 、 起 動 に は 時 間 が か か る の で 、 ypserv の 後 に /etc/init.d/ypxfrd か ら 起 動 す る の が 良 い 。
オ プ シ ョ ン
−−debug
サ ー バ ー を デ
バ ッ グ モ ー ド
で 起 動 す る 。
デ バ ッ グ モ ー
ド で は 、 サ ー
バ ー は バ ッ ク
グ ラ ウ ン ド へ
待 避 せ ず 、 ア
ク セ ス 要 求 を
受 け る た び に
細 か な ス テ ー
タ ス メ ッ セ ー
ジ を 標 準 エ ラ
ー 出 力 に 表 示
す る 。
−d directory
/var/yp の 代 わ り に rpc.ypxfrd が 用 い る デ ィ レ ク ト リ を 指 定 す る 。
−p port
rpc.ypxfrd が バ イ ン ド す る ポ ー ト 番 号 を 指 定 す る 。 こ の オ プ シ ョ ン を 用 い る と 、 ル ー タ に NIS ポ ー ト へ の パ ケ ッ ト を フ ィ ル タ リ ン グ さ せ 、 イ ン タ ー ネ ッ ト か ら の NIS サ ー バ ー へ の ア ク セ ス を 制 限 で き る 。
−−version バ ー ジ ョ ン 番 号 を 表 示 す る 。
セ キ ュ リ テ ィ
rpc.ypxfrd は ホ ス ト の チ ェ ッ ク に ypserv と 同 じ 機 能 を 用 い る 。 ま ず rpc.ypxfrd は 要 求 元 の ア ド レ ス を /var/yp/securenets ま た は tcp wrapper で チ ェ ッ ク す る 。 ホ ス ト の サ ー バ ー へ の 接 続 が 許 さ れ て い る 場 合 に は 、 rpc.ypxfrd は /etc/ypserv.conf か ら 要 求 さ れ た マ ッ プ の ル ー ル を チ ェ ッ ク す る 。 マ ッ プ の 名 前 が ル ー ル に マ ッ チ し な い 場 合 に は 、 rpc.ypxfrd は そ の マ ッ プ の YP_SECURE キ ー を 調 べ る 。 キ ー が 存 在 し て い る と 、 rpc.ypxfrd は 特 権 ポ ー ト か ら の 要 求 だ け を 許 可 す る 。
フ ァ イ ル
/etc/ypserv.conf /var/yp/securenets
関 連 項 目
ypserv(8), makedbm(8), yppush(8), ypxfr(8)
バ グ
FreeBSD の ypxfrd プ ロ ト コ ル は SunOS の も の と は 互 換 性 が な い 。 こ れ は 残 念 な こ と で は あ る が 、 不 可 避 な も の で あ っ た 。 Sun の プ ロ ト コ ル は フ リ ー に 入 手 で き る も の で は な か っ た し 、 仮 に 入 手 が で き た と し て も 有 用 な も の に は な り え な か っ た ろ う 。 後 者 の 理 由 は 、 SunOS NIS v2 の 実 装 が マ ッ プ の デ ー タ ー ベ ー ス に オ リ ジ ナ ル の ndbm パ ッ ケ ー ジ を 用 い て い る の に 対 し 、 他 の 実 装 で は GNU DBM や Berkeley DB を 用 い て い る か ら で あ る 。 こ れ ら の パ ッ ケ ー ジ は ま っ た く 異 な っ た フ ァ イ ル フ ォ ー マ ッ ト を 用 い て い る 上 、 ndbm と gdbm で は バ イ ト オ ー ダ ー ン の 違 い を 賢 く 扱 う こ と が で き な い 。 し た が っ て big endian な シ ス テ ム で 生 成 さ れ た gdbm や ndbm の デ ー タ ー ベ ー ス は 、 little endian な シ ス テ ム で は 読 む こ と が で き な い の で あ る 。 FreeBSD の ypxfrd プ ロ ト コ ル は 、 マ ス タ ー と ス レ ー ブ の 両 方 が 同 じ デ ー タ ー ベ ー ス パ ッ ケ ー ジ を 使 っ て い る か ど う か を 、 ま た 必 要 に 応 じ て 、 両 シ ス テ ム で の バ イ ト オ ー ダ ー が 等 し い か ど う か を チ ェ ッ ク す る 。
作 者
ypxfrd プ
ロ ト コ ル と FreeBSD
へ の 実 装 : Bill Paul
<wpaul [AT] ctr.edu>
Linux へ の 実 装 : Thorsten Kukuk
<kukuk [AT] suse.de>