Last modified: 04/09/01 00:41:24 JST

inetd の設定

1. inetutils のインストール

inetd をサービスとして起動し、telnet, ftp 等のサーバプログラムを動作させます。

まずは inetutils をインストールしているか確認します。
以下は確認の例です。

% ls -1 /etc/setup | grep inetutils
inetutils.lst.gz
%

あまりいい例ではないですよねー・・。

インストールしていない場合は、Cygwin Net Release Setup Program を使ってインストールします。


2. 設定ファイルの準備

http://cygwin.com/setup.exe を使って inetutils をインストールすると、インストールの最後に /etc/postinstall/iu-config.sh が実行され (実行後に iu-config.sh.done に rename されるらしい)、table 2-1 に示す設定ファイルが作成されます。
/usr/bin/iu-config を実行することで設定ファイルを再作成できます。

% iu-config -y
Creating default /etc/ftpusers file
Creating default /etc/ftpwelcome file
Creating default /etc/inetd.conf file
Creating default /etc/motd file
Creating default /etc/shells file

Configuration finished. Have fun!
%
file description
/etc/ftpusers List of users not allowed to login. Set to "ftp" and "anonymous" by default.
/etc/ftpwelcome Message printed to welcome a user at the ftp server before login.
/etc/inetd.conf inetd configuration. See man pages.
/etc/motd "message of today", printed by ftp after successful login. Also printed by `login(1)' after successful login.
/etc/shells Allowed login shells.

table 2-1

これらのファイルはお好みで書き換えます。
default では、shells に zsh のエントリが無いので注意!


3. 環境変数 CYGWIN と PATH

inetd を動作させるのに必要な環境変数 (システム環境変数) を設定し、Windows をリブートします。

variable description
 CYGWIN  ntsec の設定が必要です
PATH cygwin1.dll の存在するパス (例えば c:\cygwin\bin) を含めます

table 3-1

リブート後に環境変数が正しく設定されているか確認します。

C:\>echo %PATH%
C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;c:\cygwin\bin

C:\>echo %CYGWIN%
ntsec ntea

C:\>

上は DOS 窓での確認例です。


4. passwd と group ファイルの準備

サービスの利用を許可するユーザとそのユーザの所属するグループが登録してあることを確認します。

認証に関して、passwd file の gecos field に U- で始まるドメインつきのログイン名と、S- で始まる SID (Security ID) のフィールドが存在することを確認します。これらに関して不都合がある場合は、/etc/passwd と /etc/group を作り直します。

GECOS とは General Electric Comprehensive Operating System の略だそうです。


5. サービスへの登録と起動

inetd を Windows のサービスに登録します。

$ /usr/sbin/inetd --install-as-service
$

[設定]-[コントロールパネル]-[管理ツール]-[サービス] から、inetd が登録されたことを確認します (figure 5-1)

CYGWIN inetd のプロパティ

figure 5-1

inetd サービスを開始します。

$ net start inetd
CYGWIN inetd サービスを開始します.
CYGWIN inetd サービスは正常に開始されました。

$

inetd サービスが開始されたことを確認します。

$ ps -ef | grep inetd
SYSTEM 1328 1 ? 14:15:28 /usr/sbin/inetd
SYSTEM 1180 1328 ? 14:15:28 /usr/sbin/inetd
$

inetd が2つ表示される状態がノーマルのようです。


6. ログインの確認

サービスにアクセスし、実際にログインできることを確認します。

$ telnet localhost
Trying 127.0.0.1...
Connected to elvis.
Escape character is '^]'.

CYGWIN_NT-5.0 1.3.10(0.51/3/2) (elvis) (tty1)

login: tachi
Password:
Fanfare!!!
You are successfully logged in to this server!!!
$
$ rsh localhost
Password:
Fanfare!!!
You are successfully logged in to this server!!!
$
$ ftp localhost
Connected to elvis.
220-
220- Wow! I have found the ftp daemon! Let's see...
220-
220 elvis FTP server (GNU inetutils 1.3.2) ready.
Name (localhost:tachi): tachi
331 Password required for tachi.
Password:
230- Fanfare!!!
230- You are successfully logged in to this server!!!
230 User tachi logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

7. inetd の自動起動

default では Windows の起動時に inetd も自動起動します。これが好ましくない場合は、[設定]-[コントロールパネル]-[管理ツール]-[サービス] から「CYGWIN inetd のプロパティ」を表示し「スタートアップの種類(E):」を「手動」に変更します (figure 7-1)。

CYGWIN inetd のプロパティ

figure 7-1


これで inetd の設定は終わりです、おつかれさま(^-^)


もどる