量産メモ帳

忘れっぽいのでメモを残しています。浅く適当に書きます。

Windows 標準の FTP サーバーを使ってみた。

Linuxシェルスクリプトに書かれた ftp コマンドのテストを、Windows PC 上の MSYS 内で行いたいと思い、Windows の標準 FTP サーバー(IIS に付属)を使ってみた。
ちなみに IISFTP サーバーが付いていることは初めて知った。



しかし、結論から言うと、これは以下の理由で失敗に終わった。
(記憶を頼りに書いているので、記述に間違いがあるかもしれない。)

  • そもそも MSYS には ftp コマンドが付いていない。
    • MSYS 内で ftp を実行すると、代わりに Windows 標準の ftp(C:\Windows\System32\ftp.exe) コマンドが呼ばれてしまう。やっぱり Cygwin を使うしかないのか。。
  • Linux(MSYS) の ftpWindowsftp.exe は似て非なるもの。
    • ログイン:ホスト名とユーザー名の指定の仕方が異なる。後者はホスト名とユーザー名の区切り文字として"|"を使用するけど、そのようにシェルスクリプトを書き換えて MSYS 内で実行すると、当然ながらパイプと認識されてしまう。
    • passive モード:前者は ftp セッション内での指定が可能だけど、後者では不可能。
  • IISFTP サーバーで使用できるユーザーは、同時に Windows ユーザーでもなければならない。
    • しかも、ドメインに参加した状態で利用する場合、FTP ユーザーとして有効なのはドメインユーザーのみで、ローカルユーザーは使用できなさそう。
  • IISFTP サーバーの初期設定の手順が複雑で分かりにくい。
    • これは慣れの問題かもしれないが、IIS の管理画面上だけで初期設定を完結できないのが痛い。
    • 余談になるけど、十年以上前に TinyFTPDaemon という FTP サーバーを PC 内で起動して、ftp コマンドの練習をしたことがあった。Windwos 7 や Windows 8 でも使えるのかどうか試していないけど、少なくとも IISFTP サーバーよりは初期設定が楽だった記憶がある。



・・・という訳で、IISFTP サーバーは諦めることにした。残念。


代わりに、TinyFTPDaemon か Cerberus FTP Server を検討してみる。


2013/4/29 追記:
TinyFTPDaemon のインストールを試みたら、「サポートされていない16ビットアプリケーション」というタイトルのエラーダイアログが表示されて、インストールできなかった。


Cerberus FTP Server の方は、↓の記事に書いた。



参考記事:

関連記事: