名 前
ftpd — イ
ン タ ー ネ ッ ト
フ ァ イ ル 転 送
プ ロ ト コ ル サ
ー バ 書 式
ftpd [−AdDhlMPSU] [−T
maxtimeout] [−t timeout]
[−u mask] 説 明
ftpd は イ ン タ ー
ネ ッ ト フ ァ イ
ル 転 送 プ ロ ト
コ ル サ ー バ プ
ロ セ ス で あ る
。 こ の サ ー バ
は TCP プ ロ ト コ ル
を 用 い て 、
’’ftp’’ サ ー ビ
ス の 仕 様 で 指
定 さ れ た ポ ー
ト を listen す る 。
services(5) を 参 照 す る
こ と 。 使 用 可
能 な オ プ シ ョ
ン は 以 下 の 通
り で あ る :
−A 匿 名 ftp 接 続 、 ま た は /etc/ftpchroot に リ ス ト さ れ た ア カ ウ ン ト に よ る 接 続 の み を 許 可 す る 。 他 の 接 続 は 拒 否 さ れ る 。
−d デ バ ッ グ 情 報 が LOG_FTP を 使 っ て syslog に 書 き 込 ま れ る 。
−D こ の オ プ シ ョ ン が 設 定 さ れ る と 、 ftpd は 制 御 端 末 を 切 り 離 し て デ ー モ ン と な り 、 FTP ポ ー ト へ の 接 続 を 受 け 付 け 、 接 続 を 処 理 す る た め に 子 プ ロ セ ス を fork す る 。 こ の 方 式 は ftpd を inetd(8) か ら 起 動 す る よ り オ ー バ ー ヘ ッ ド が 少 な い た め 、 処 理 量 の 多 い サ ー バ で 負 荷 を 低 減 す る の に 役 立 つ 。
−h サ ー バ が パ ッ シ ブ 接 続 の た め に 大 き い 番 号 の 範 囲 に あ る デ ー タ ポ ー ト を 使 う 。 こ の 範 囲 は <netinet/in.h> に あ る IPPORT_HIFIRSTAUTO と IPPORT_HILASTAUTO で 定 義 さ れ る 。 OpenBSD で は 、 こ の 値 は そ れ ぞ れ 49152 と 65535 に 設 定 さ れ る 。
−l 成 功 ま た は 失 敗 し た 各 ftp(1) セ ッ シ ョ ン を syslog の LOG_FTP フ ァ シ リ テ ィ (facility) を 用 い て ロ グ に 記 録 す る 。 こ の オ プ シ ョ ン を 2 つ 指 定 す る と 、 retrieve (get), store (put), append, delete, make directory, remove directory, rename の 各 操 作 、 お よ び そ れ ら の 引 き 数 と し て 指 定 さ れ た フ ァ イ ル 名 に つ い て も ロ グ に 記 録 す る 。
−M 複 数 ホ ー ム モ ー ド を 有 効 に す る 。 匿 名 フ ァ イ ル 転 送 の た め に 単 に ~ftp を 使 う の で は な く 、 接 続 さ れ た ク ラ イ ア ン ト の IP ア ド レ ス か ら 完 全 な ド メ イ ン 名 付 き の ホ ス ト 名 に マ ッ チ す る ~ftp 内 部 に あ る デ ィ レ ク ト リ を 使 う 。
−p パ ッ シ ブ モ ー ド ftp 接 続 を 無 効 に す る 。 大 き な 番 号 の ポ ー ト で の 接 続 を 拒 否 す る フ ァ イ ア ー ウ ォ ー ル の 後 ろ に い る 場 合 に 役 立 つ 。 多 く の ftp ク ラ イ ア ン ト は 始 め に パ ッ シ ブ モ ー ド を 試 み 、 ク ラ イ ア ン ト が 接 続 す る の に 指 定 し た ポ ー ト へ の 接 続 を 拒 否 す る サ ー バ に 対 し て 常 に う ま く 対 応 す る 訳 で は な い 。
−P 正 式 な ポ ー ト 番 号 や 接 続 を 初 期 化 す る PORT コ マ ン ド の 正 式 な ア ド レ ス の 使 用 を 許 可 す る 。 デ フ ォ ル ト で は 、 ftpd(8) は RFC を 守 っ て い な い の で 、 PORT コ マ ン ド を 予 約 さ れ て い な い ポ ー ト 番 号 で 行 わ せ た り 、 接 続 元 の ア ド レ ス が 同 じ ア ド レ ス で あ る 必 要 が あ る 。 こ れ に よ り 、 ロ ー カ ル マ シ ン と 他 の ロ ー カ ル マ シ ン に 対 し て "FTP バ ウ ン ス 攻 撃 " を 防 止 す る こ と が で き る 。
−S こ の オ プ シ ョ ン が 設 定 さ れ る と 、 ftpd は 、 フ ァ イ ル /var/log/ftpd が あ る 場 合 、 こ の フ ァ イ ル に 全 て の 匿 名 フ ァ イ ル 転 送 に つ い て ロ グ を 記 録 す る 。
−U 同 時 に 起 こ る 各 ftp(1) セ ッ シ ョ ン は 、 フ ァ イ ル /var/run/utmp に ロ グ が 記 録 さ れ 、 who(1) の よ う な コ マ ン ド に 見 え る よ う に さ れ る 。 こ の オ プ シ ョ ン は 現 在 の と こ ろ サ ポ ー ト さ れ て お ら ず 、 常 に 何 も 表 示 せ ず に 失 敗 す る 。
−T ク ラ イ ア ン ト が 他 の タ イ ム ア ウ ト 時 間 を リ ク エ ス ト で き る 。 タ イ ム ア ウ ト の 最 長 時 間 は 、 −T オ プ シ ョ ン を 使 っ て timeout 秒 に 設 定 す る こ と が で き る 。 デ フ ォ ル ト の タ イ ム ア ウ ト 時 間 は 2 時 間 で あ る 。
−t 無 活 動 タ イ ム ア ウ ト 時 間 を timeout 秒 に 設 定 す る (デ フ ォ ル ト は 15 分 で あ る )。
−u デ フ ォ ル ト の umask を 027 か ら mask に 変 更 す る 。 フ ァ イ ル /etc/nologin は ftp ア ク セ ス を 不 可 に す る た め に 使 わ れ る 。 こ の フ ァ イ ル が 存 在 す る と 、 ftpd は そ の フ ァ イ ル 内 容 を 表 示 し て 終 了 す る 。 フ ァ イ ル /etc/ftpwelcome が 存 在 す る 場 合 、 ftpd は ’’ready’’ メ ッ セ ー ジ を 表 示 す る 前 に 、 そ の フ ァ イ ル の 内 容 を 表 示 す る 。 /etc/motd が 存 在 す る 場 合 、 ftpd は ロ グ イ ン が 成 功 し た 後 、 そ の フ ァ イ ル の 内 容 を 表 示 す る 。 デ ィ レ ク ト リ に .message フ ァ イ ル が 存 在 す る 場 合 、 ftpd そ の デ ィ レ ク ト リ に 入 っ た と き に 、 こ の フ ァ イ ル の 内 容 を 表 示 す る 。
ftp サ ー バ は 現 在 の と こ ろ 以 下 の ftp リ ク エ ス ト を サ ポ ー ト し て い る 。 リ ク エ ス ト の 文 字 の 大 文 字 小 文 字 は 無 視 さ れ る 。 リ ク エ ス ト |
説 明
ABOR |
直 前 の コ マ ン ド を 中 断 (abort) す る | ||||
ACCT |
ア カ ウ ン ト を 指 定 す る (無 視 さ れ る ) | ||||
ALLO |
(空 の ) ス ト レ ー ジ を 確 保 す る | ||||
APPE |
フ ァ イ ル を 追 加 す る | ||||
CDUP |
カ レ ン ト ワ ー キ ン グ デ ィ レ ク ト リ の 親 デ ィ レ ク ト リ を 変 更 す る | ||||
CWD |
ワ ー キ ン グ デ ィ レ ク ト リ を 変 更 す る | ||||
DELE |
フ ァ イ ル を 削 除 す る | ||||
HELP |
ヘ ル プ 情 報 を 表 示 す る | ||||
LIST |
デ ィ レ ク ト リ 中 の フ ァ イ ル の リ ス ト を 表 示 す る (’’ls -lgA’’) | ||||
MKD |
デ ィ レ ク ト リ を 作 成 す る | ||||
MDTM |
フ ァ イ ル の 最 終 修 正 時 刻 を 表 示 す る | ||||
MODE |
デ ー タ 転 送 モ ー ド を mode に 指 定 す る | ||||
NLST |
デ ィ レ ク ト リ 中 の フ ァ イ ル 名 リ ス ト を 表 示 す る | ||||
NOOP |
何 も し な い | ||||
PASS |
パ ス ワ ー ド を 指 定 す る | ||||
PASV |
サ ー バ か ら サ ー バ へ の 転 送 の 準 備 を す る | ||||
PORT |
デ ー タ 接 続 ポ ー ト を 指 定 す る | ||||
PWD |
カ レ ン ト ワ ー キ ン グ デ ィ レ ク ト リ の 名 前 を 表 示 す る | ||||
QUIT |
セ ッ シ ョ ン を 終 了 す る | ||||
REST |
不 完 全 だ っ た 転 送 を 再 開 す る | ||||
RETR |
フ ァ イ ル を 取 得 す る | ||||
RMD |
デ ィ レ ク ト リ を 削 除 す る | ||||
RNFR |
名 前 変 更 前 の フ ァ イ ル 名 を 指 定 す る | ||||
RNTO |
名 前 変 更 後 の フ ァ イ ル 名 を 指 定 す る | ||||
SITE |
標 準 で な い コ マ ン ド (次 の セ ク シ ョ ン を 参 照 す る こ と ) | ||||
SIZE |
フ ァ イ ル の サ イ ズ を 返 す | ||||
STAT |
サ ー バ の ス テ ー タ ス を 返 す | ||||
STOR |
フ ァ イ ル を 格 納 す る | ||||
STOU |
フ ァ イ ル を 他 の も の と 重 複 の な い 名 前 で 格 納 す る | ||||
STRU |
デ ー タ 転 送 構 造 を structure に 指 定 す る | ||||
SYST |
サ ー バ シ ス テ ム の オ ペ レ ー テ ィ ン グ シ ス テ ム の タ イ プ を 表 示 す る | ||||
TYPE |
デ ー タ 転 送 タ イ プ を type に 指 定 す る | ||||
USER |
ユ ー ザ ー 名 を 指 定 す る | ||||
XCUP |
カ レ ン ト ワ ー キ ン グ デ ィ レ ク ト リ の 親 デ ィ レ ク ト リ を 変 更 す る (反 対 さ れ る ) | ||||
XCWD |
ワ ー キ ン グ デ ィ レ ク ト リ を 変 更 す る (反 対 さ れ る ) | ||||
XMKD |
デ ィ レ ク ト リ を 作 成 す る (反 対 さ れ る ) | ||||
XPWD |
カ レ ン ト ワ ー キ ン グ デ ィ レ ク ト リ の 名 前 を 表 示 す る (反 対 さ れ る )
UNIX 特 有 の
コ マ ン ド は 、 SITE
リ ク エ ス ト を
使 う こ と で サ
ポ ー ト さ れ る
。 リ ク エ ス ト
説 明 RFC 959 で 規 定 さ れ て い る 他 の ftp リ ク エ ス ト も 認 識 さ れ る が 、 今 の と こ ろ 実 装 さ れ て は い な い 。 MDTM と SIZE は RFC 959 で 規 定 さ れ て い な い が 、 次 に 改 訂 さ れ る FTP RFC に は 登 場 す る だ ろ う 。 ftp サ ー バ が ア ク テ ィ ブ な フ ァ イ ル 転 送 プ ロ セ ス を 中 断 (abort) す る の は 、 ABOR コ マ ン ド の 前 に 、 Telnet "Interrupt Process" (IP) シ グ ナ ル や Telnet "Synch" シ グ ナ ル が Telnet ス ト リ ー ム 内 に あ る 場 合 だ け で あ る 。 こ れ は イ ン タ ー ネ ッ ト RFC 959 に 記 述 さ れ て い る 。 デ ー タ 転 送 中 に STAT コ マ ン ド を 受 け 取 り 、 そ の 前 に Telnet IP や Synch が あ っ た 場 合 、 転 送 ス テ ー タ ス が 返 さ れ る 。 ftpd は 、 csh(1) で 使 わ れ て い る ’’フ ァ イ ル 名 展 開 ’’ に よ る 変 換 に 基 づ い て 、 フ ァ イ ル 名 を 解 釈 す る 。 こ れ に よ り 、 ユ ー ザ ー は メ タ キ ャ ラ ク タ ’’*?[]{}~’’ を 利 用 で き る 。 ftpd は 5 つ の ル ー ル に 従 っ て ユ ー ザ ー の 認 証 を す る 。 1. ロ グ イ ン 名 は パ ス ワ ー ド デ ー タ ベ ー ス /etc/passwd に な け れ ば な ら ず 、 空 の パ ス ワ ー ド で あ っ て は な ら な い 。 こ の 場 合 、 あ ら ゆ る フ ァ イ ル 転 送 に 先 だ っ て 、 ク ラ イ ア ン ト か ら パ ス ワ ー ド が 提 供 さ れ な け れ ば な ら な い 。 ユ ー ザ ー が S/Key の キ ー を 持 っ て い る 場 合 、 USER コ マ ン ド が 成 功 し た 際 の 応 答 が S/Key チ ャ レ ン ジ に 含 め て 送 ら れ る 。 ク ラ イ ア ン ト は 、 そ れ に 対 し て PASS コ マ ン ド を 使 っ て 応 答 す る 際 に 、 通 常 の パ ス ワ ー ド と S/Key の ワ ン タ イ ム パ ス ワ ー ド の ど ち ら を つ け て 応 答 す る か を 選 択 で き る 。 サ ー バ は ど ち ら の タ イ プ の パ ス ワ ー ド を 受 け 取 っ た か を 自 動 的 に 判 定 し 、 そ れ に 応 じ て 認 証 を 試 み る 。 S/Key 認 証 に つ い て の 詳 細 は skey(1) を 参 照 す る こ と 。 S/Key は Bellcore 社 の 商 標 で あ る 。 2. ロ グ イ ン 名 は フ ァ イ ル /etc/ftpusers に あ っ て は な ら な い 。 3. ユ ー ザ ー は getusershell(3) が 返 す 標 準 の シ ェ ル を 持 っ て い な け れ ば な ら な い 。 4. ユ ー ザ ー 名 が フ ァ イ ル /etc/ftpchroot に あ る 場 合 、 ’’anonymous’’ ア カ ウ ン ト や ’’ftp’’ ア カ ウ ン ト の 場 合 (次 の 項 目 を 参 照 ) と 同 様 に 、 セ ッ シ ョ ン の ル ー ト デ ィ レ ク ト リ は chroot(2) に よ っ て ユ ー ザ ー の ロ グ イ ン デ ィ レ ク ト リ に 変 更 さ れ る 。 し か し 、 こ の 場 合 で も ユ ー ザ ー は パ ス ワ ー ド を 与 え る 必 要 が あ る 。 こ の 特 徴 は 、 完 全 に 匿 名 な ア カ ウ ン ト と 完 全 な 特 権 の あ る ア カ ウ ン ト の 妥 協 的 な 利 用 を 意 図 し て い る 。 こ の ア カ ウ ン ト は 匿 名 ア カ ウ ン ト と し て 設 定 さ れ て い な け れ ば な ら な い 。 5. ユ ー ザ ー 名 が ’’anonymous’’ ま た は ’’ftp’’ で あ る 場 合 、 匿 名 ftp ア カ ウ ン ト が パ ス ワ ー ド フ ァ イ ル で (ユ ー ザ ー ’’ftp’’ と し て ) 提 供 さ れ て い な け れ ば な ら な い 。 こ の 場 合 、 ユ ー ザ ー は ど の よ う な パ ス ワ ー ド を 指 定 し て も ロ グ イ ン が 許 可 さ れ る (慣 例 と し て 、 ユ ー ザ ー の email ア ド レ ス が パ ス ワ ー ド と し て 使 わ れ る )。 最 後 の ケ ー ス で は 、 ftpd は 、 ク ラ イ ア ン ト の ア ク セ ス 権 を 制 限 す る た め に 、 特 別 な 評 価 を 行 う 。 サ ー バ は ’’ftp’’ ユ ー ザ の ホ ー ム デ ィ レ ク ト リ に 対 し て chroot(2) を 実 行 す る 。 シ ス テ ム の セ キ ュ リ テ ィ が 侵 害 さ れ な い た め に は 、 ’’ftp’’ サ ブ ツ リ ー を 以 下 の 規 則 に 従 っ て 慎 重 に 構 築 す る こ と を 推 奨 す る : ~ftp ホ ー ム デ ィ レ ク ト リ を ’’root’’ の 所 有 と し 、 誰 も 書 き 込 み で き な い よ う に (モ ー ド を 555 に ) す る こ と 。 ~ftp/bin こ の デ ィ レ ク ト リ を ’’root’’ の 所 有 と し 、 誰 も 書 き 込 み で き な い よ う に (モ ー ド を 511 に ) す る こ と 。 こ の デ ィ レ ク ト リ は 必 要 で 、 少 な く と も 静 的 に リ ン ク さ れ た ls(1) の コ ピ ー が な け れ ば な ら な い 。 こ の デ ィ レ ク ト リ に あ る プ ロ グ ラ ム の モ ー ド は 、 111 (実 行 属 性 の み ) で な け れ ば な ら な い 。 ~ftp/etc こ の デ ィ レ ク ト リ を ’’root’’ の 所 有 と し 、 誰 も 書 き 込 み で き な い よ う に (モ ー ド を 511 に ) す る こ と 。 ls コ マ ン ド が 所 有 者 を 数 字 で は な く 名 前 で 表 示 で き る よ う に す る た め に 、 フ ァ イ ル passwd(5) と group(5) が 必 要 で あ る 。 passwd の パ ス ワ ー ド フ ィ ー ル ド は 使 用 さ れ な い の で 、 実 際 の パ ス ワ ー ド を 入 れ て は な ら な い 。 フ ァ イ ル motd が 存 在 す る と 、 ロ グ イ ン 成 功 後 、 そ の 内 容 が 表 示 さ れ る 。 こ の フ ァ イ ル は モ ー ド が 444 で な け れ ば な ら な い 。 ~ftp/pub こ
の デ ィ レ ク ト
リ の モ ー ド を 555
と し 、 ’’root’’
の 所 有 と す る
こ と 。 こ の デ
ィ レ ク ト リ に
は 、 伝 統 的 に
、 ダ ウ ン ロ ー
ド の た め の 公
開 ア ク セ ス 可
能 な フ ァ イ ル
が 格 納 さ れ る
。 フ ァ イ ル chroot し な け れ ば な ら な い 一 般 ユ ー ザ ー の リ ス ト 。 /etc/ftpwelcome 歓 迎 の
メ ッ セ ー ジ 。
ftp(1), skey(1), who(1),
getusershell(3), ftpusers(5), syslogd(8) バ
グ 特 権 ポ ー ト
番 号 を 用 い て
ソ ケ ッ ト を 作
成 す る た め に
、 サ ー バ は ス
ー パ ー ユ ー ザ
ー と し て 実 行
し な け れ ば な
ら な い 。 サ ー
バ ー は ロ グ イ
ン し た ユ ー ザ
ー の 実 行 ユ ー
ザ ー ID を 管 理 す
る (使 う )。 そ し
て 、 ア ド レ ス
を ソ ケ ッ ト に
バ イ ン ド す る
場 合 に の み 、
ス ー パ ー ユ ー
ザ ー に 戻 る (そ
の 権 限 を 使 う
)。 考 え ら れ る
セ キ ュ リ テ ィ
ホ ー ル に つ い
て は 、 か な り
綿 密 に 調 べ た
が 、 そ れ で も
不 完 全 か も し
れ な い 。 履 歴
|