Manpages

名 前

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 す る 。 こ の 方 式 は ftpdinetd(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

カ レ ン ト ワ ー キ ン グ デ ィ レ ク ト リ の 名 前 を 表 示 す る (反 対 さ れ る )

XRMD

デ ィ レ ク ト リ を 削 除 す る (反 対 さ れ る ) 以 下 の 標 準 で な い コ マ ン ド や

UNIX 特 有 の コ マ ン ド は 、 SITE リ ク エ ス ト を 使 う こ と で サ ポ ー ト さ れ る 。 リ ク エ ス ト 説 明
UMASK umask を 変 更 す る 。 例 ’’SITE UMASK 002’’
IDLE ア イ ド ル タ イ マ を 設 定 す る 。 例 ’’SITE IDLE 60’’
CHMOD フ ァ イ ル の モ ー ド を 指 定 す る 。 例 ’’SITE CHMOD 755 filename’’
HELP ヘ ル プ 情 報 を 表 示 す る 。 イ ン タ ー ネ ッ ト

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’’ の 所 有 と す る こ と 。 こ の デ ィ レ ク ト リ に は 、 伝 統 的 に 、 ダ ウ ン ロ ー ド の た め の 公 開 ア ク セ ス 可 能 な フ ァ イ ル が 格 納 さ れ る 。 フ ァ イ ル
/etc/ftpusers
歓 迎 さ れ な い /制 限 を 受 け る ユ ー ザ ー の リ ス ト 。
/etc/ftpchroot

chroot し な け れ ば な ら な い 一 般 ユ ー ザ ー の リ ス ト 。

/etc/ftpwelcome 歓 迎 の メ ッ セ ー ジ 。
/etc/motd
ロ グ イ ン 後 の 歓 迎 の メ ッ セ ー ジ 。
/etc/nologin
表 示 さ れ て 、 ア ク セ ス が 拒 否 さ れ る 。
/var/run/utmp
シ ス テ ム 上 の ユ ー ザ ー の リ ス ト 。
/var/log/ftpd
匿 名 フ ァ イ ル 転 送 の ロ グ フ ァ イ ル 。 関 連 項 目

ftp(1), skey(1), who(1), getusershell(3), ftpusers(5), syslogd(8) バ グ 特 権 ポ ー ト 番 号 を 用 い て ソ ケ ッ ト を 作 成 す る た め に 、 サ ー バ は ス ー パ ー ユ ー ザ ー と し て 実 行 し な け れ ば な ら な い 。 サ ー バ ー は ロ グ イ ン し た ユ ー ザ ー の 実 行 ユ ー ザ ー ID を 管 理 す る (使 う )。 そ し て 、 ア ド レ ス を ソ ケ ッ ト に バ イ ン ド す る 場 合 に の み 、 ス ー パ ー ユ ー ザ ー に 戻 る (そ の 権 限 を 使 う )。 考 え ら れ る セ キ ュ リ テ ィ ホ ー ル に つ い て は 、 か な り 綿 密 に 調 べ た が 、 そ れ で も 不 完 全 か も し れ な い 。 履 歴
ftpd
コ マ ン ド は 4.2BSD で 登 場 し た 。 翻 訳 者 謝 辞 こ の man ペ ー ジ の 翻 訳 に あ た り 、 FreeBSD jpman project <http://www.jp.freebsd.org/man-jp/>; に よ る 翻 訳 を 参 考 に さ せ て い た だ い た 。