inetutils.README
inetutils は GNU による一般的なネットワークユーティリティ及びサーバのコレクションです。 本文書は、Cygwin 本家から提供されている inetutils パッケージ (バージョン 1.3.2)に含まれている inetutils-1.3.2.README の日本語訳です。
このパッケージは Cygwin 1.5.x に対する inetutils-1.3.2 の実質的な移植です。
このリリースの元となったのは Sergey Okhapkin による移植版です。
現在の Cygwin リリース、そして特に Windows NT サービスマネージャ及び NT セキュリティと共にスムーズに動作するように、追加のパッチ類を適用しています。
(訳注: 原文では、ここに変更履歴が列挙されています)
重要な機能に関する概略
プログラムを起動する前に、/etc に置かれる設定ファイルを最初に生成する必要があります!
inetutils を最初にインストールした後で、
iu-config
を一回実行して下さい。これにより、幾つかのファイルが作成されます。
/etc/inetd.conf- inetd の設定。マニュアルページを参照して下さい。
/etc/shells- 許可されるログインシェル。
/etc/ftpusers- ログインを許可しないユーザのリスト。 デフォルトでは「ftp」と「anonymous」が設定されています。
/etc/ftpwelcome- ftp サーバへのログイン後に表示される、ユーザ歓迎メッセージ。
/etc/motd- ログインの成功後に ftp が表示する「今日のメッセージ(message of today)」。 login(1) もログインの成功後にこれを表示します。
対話的に telnet / rsh / rlogin セッションを開始するには、
別のパッケージ(Cygwin の標準的なネット配布の一部分です)に含められている
/bin/login.exe が必要です。
-
inetd:
Windows 9x では、inetd はシェルプロンプト又は「スタートアップ」フォルダから起動することが出来ます。
NT 及び Windows 2000(W2K) では、inetd はサービスマネージャから起動する必要があります。 inetd には自分自身をサービスとしてインストール / アンインストールするための新しいオプションがありますので、 SRVANY 経由(*1)で起動する必要はありません。
inetd --install-as-service inetd --remove-as-service
既に古いバージョンの inetd がインストールされている場合、 新しいバージョンの inetd をインストールする前にそれを取り除いて下さい。
inetd をインストールした後にリブートすると、inetd は自動的に起動します。 手動での起動及び停止は以下のようにして行えます。
net start inetd net stop inetd
現バージョンでの警告: inetd はプロセスリスト中に二つ表示されます。 現段階では、サービスマネージャと共に正しく動作させるためにこれが必要です。 この問題は将来のリリースにおいて解決されることでしょう。
inetd を LocalSystem の元で動作するサービスとしてではなく、 別のユーザアカウントの元で起動するのであれば、 「ユーザマネージャ」又は「ローカル / ドメインセキュリティポリシー」 MMC スナップインを利用して、 そのアカウントに様々な権限を付与しなければなりません。
- 「オペレーティングシステムの一部として機能」(Act as part of the operating system)
- 「プロセスレベルトークンの置き換え」(Replace process level token)
- 「クォータの増加」(Increase quotas)
- 「サービスとしてログオン」(Logon as a service)
デフォルトでは、Administrators にはこれらのユーザ権限の全てが設定されていないという点に注意して下さい!
NT / W2K のサービスマネージャから LocalSystem アカウントの元で起動される全てのアプリケーションに対しては、以下の制限が適用されます。
-
起動時に有効になるように、
環境変数
CYGWINをシステム環境変数として設定しなければなりません。 或いは、レジストリ経由でCYGWINを設定することも出来ます。HKLM\Software\Cygnus Solutions\Cygwin\Program Optionsキー(*2)の下に、inetd への完全な DOS パス(例: 「C:\usr\bin\inetd.exe」)を名前として持つREG_SZ(文字列)の値を作成すると、その値に設定されたデータがCYGWINの値として参照されます。 例えば、「binmode tty ntsec」のようにします。 -
システム環境変数
PATHにはcygwin1.dllが格納されているディレクトリが含まれてなければなりません。 - いかなるユーザのマウントポイントももはや正しくありません。 全てのマウントポイントをシステムマウントテーブルへと設定する必要があります。 システムマウントテーブルは telnet / rlogin などを利用して通常のユーザアカウントでログインした後でも変更されません。 login と ftp に対して、認証の後にユーザハイブをレジストリへとロードするパッチを誰かが寄贈してくれたなら、 我々は速やかにユーザマウントを利用出来るようにします(*3)。
-
ftpd:
NT/W2K 上では、ftpd は NT セキュリティを利用してユーザコンテキストを変更することが出来るようになりました。 主に、Cygwin の ntsec オプションの全ての機能を利用している場合に有用でしょう。 pw_gecos の「
S-」と「U-」フィールドは、「login.README」ファイルに記述されている内容を考慮に入れています。/etc/passwd中にユーザ「ftp」を作成して、NT ユーザデータベースに「ftp」ユーザを作成するか、 ntsec を ON にして前述の「S-」と「U-」エントリを共に/etc/passwdに含めることによって、匿名 ftp が利用可能になります。 例えば、cygwin ユーザ「ftp」には NT ユーザ「guest」を割り当てるべきなので、 guest エントリから ftp ユーザを作成することが出来ます。ftp::100:10:U-guest,S-1-5-21-XXX-YYY-ZZZ-501:/home/ftp:/bin/false
- 「ftp」エントリは正しいディレクトリを必要とする。
- 割り当てられた NT ユーザにパスワードが設定されていてはならない。
という点に注意して下さい。
Windows 9x システムでは、
/etc/passwdは crypt パッケージによって作成される DES 暗号化パスワードによってチェックされます。 -
ftp:
ftp は UNIX システムであると報告するため、多くのサーバではデフォルトでバイナリモードがオンとなります。
Windows 95/98 システムでは、 login パッケージと crypt パッケージをインストールする必要があります。
セキュリティに関する告知
mkpasswd -l によって
/etc/passwd を作成した場合、セキュリティホールが生まれるという点には注意して下さい。
W2K 又は NT マシンで特定のディレクトリを共有するために「guest」ログインを有効にしている場合、
単にユーザ「guest」及び空のパスワードを利用するだけで誰でもそのマシンに
ftp、telnet などを行うことが出来る「Guest」エントリが /etc/passwd 中に作成されます。
一つの解決方法は、ユーザマネージャで guest アカウントを殺してしまうことです。
匿名 ftp 用のユーザとして「guest」アカウントを利用しないのであれば、別の解決方法として
/etc/passwd から guest エントリを削除することも出来ます。
パスワードなしでの対話的ログインを避けるために
/etc/passwd 中のユーザのシェルエントリを
/bin/false や /bin/date
のようなものにしてしまっても構いません。
自動的に「guest」ユーザが有効になるのは Windows NT の弱点であり、Cygwin の弱点ではないことに注意して下さい。
構成方法
利用した configure のオプションは次の通りです。
--prefix=/usr \
--libexecdir='${exec_prefix}/sbin' \
--sysconfdir=/etc \
--localstatedir=/varmake を実行すると以下のようなメッセージが表示されますが、無視して下さい。
../rules.make:84: target `/usr/sbin' given more than once in the same rule.
リクエスト、エラーレポートなどは <cygwin@cygwin.com> へとお願いします。購読は簡単で、空の電子メールを <cygwin-subscribe@cygwin.com> へと送るだけです。
では、お楽しみ下さい。
Corinna Vinschen <vinschen@redhat.com>Cygwin Developer
Red Hat Inc.