Windowsでtelnetdを"0円"で動かす方法

1.目的
Windowsでtelnetd(telnetサーバ)を"0円"で動かします。

2.用意するべきもの

1. Windowsマシン (Windows98 or NTで確認しました。)
これが無いと始まりません。

2. cygwin
Windowsに、UNIX環境をつくるものです。

3. cygwinのダウンロードとインストール
これに関しては、以下のページの方が詳しいです。

4. cygwinの環境設定
実はここまでで、大半の作業が終わってしまっているんですけどね(^^;

/etc/passwdファイルの作成を行います。
NT4.0にインストールした時は、勝手に作られるようですが、
Windows98にインストールした場合は、作られないようなので、
作成する必要があります。

フォーマットは、以下のとおりです。
ユーザ名:パスワード:ユーザID:グループID:ユーザフルネーム:ホームディレクトリ:シェル

ここで、パスワードはcryptコマンドを使って作成します。
ex) パスワードが「hogehoge」の場合。
$ crypt hogehoge
70TDRFINpHCUU

ここで表示された、「70TDRFINpHCUU」を、passwdファイルのパスワードフィールドにコピーします。

こんな感じになるでしょう。
hogehoge:70TDRFINpHCUU:1:500:Hoge User:/home/hoge:/usr/bin/bash

5. telnetdの環境設定
今回は、in.telnetdをinetd経由で動かすことにします。

5-1) /etc/inetd.confファイルの作成
telnet stream tcp nowait hogehoge /usr/sbin/in.telnetd
hogehogeの部分は、実際に起動するユーザに置き換えて下さい。

5-2) /etc/servicesファイルの作成
今回は、telnetdしか起動しないので、以下の記述だけでOKです。
telnet 23

6. 稼動!
ここまで設定できたら、実際に動かしてみましょう。
inetdを起動するコマンドは、以下のとおりです。
/usr/sbin/inetd -d

こんなのが出てれば、OKでしょう。
$ /usr/sbin/inetd -d
ADD : telnet proto=tcp, wait=0, user=hogehoge builtin=0 server=/usr/sbin/in.telnetd
registered /usr/sbin/in.telnetd on 4

7. 接続してみる
telnetdが起動したので、早速接続してみます。

いきなりPasswordを聞かれる画面になりますが、
どうやら、inetd.confで設定したユーザがデフォルトになるようです。
最初にパスワードを間違うと、ユーザ名を聞いてきます。

ちなみに、送信改行コードを「CR+LF」にしていると、
2回改行を送ってしまうようなので、「CR」にすることをおすすめします。