「Kerberos 操作ノート」ドラフト "Kerberos Operation Notes DRAFT" Bill Bryant, John Kohl, Project Athena, MIT Initial Release, January 24, 1989 (plus later patches though pachlevel7) [和訳: 桑村 潤(計算力学研究センター技術開発部), 1997-03-19] [和訳にあたり、斜体の文字は 'と' で囲み、太字は _と_ で囲んであります。] ここに書かれているメモは "Kerberos インストールノート" [原題:Kerberos Installation Notes]を使って Kerberos システムをインストールしてあるこ とを仮定してます。その文書にあるように、Kerberos の実行プログラムを含む ディレクトリを [OBJ_DIR] と言う具合に参照します。 この文書は UNIX システムマネージャを対象に書かれています。 1. ケルベロスの働き: 概略説明 この章では Kerberos システムと一般的なユーザーのやりとりを簡略化した解 説を行ないます。このやりとりは透過的に起こります --ユーザは知る必要も なく、何が起こっているかはおそらく気にもかけないでしょう-- しかし、多 くの Kerberos 管理者にとってはこの処理の概略説明は役にたつでしょう。そ の解説の詳細は多岐にわたりますので;より多くの情報についは、"Kerberos: An Authentication Service for Open Network Systems" という 1988 年冬 にテキサス州ダラスで開かれた USENIX の論文を御覧になって下さい。 1.1 ネットワークサービスとそのクライアントプログラム (Network Services and Their Client Programs) ネットワークサービスを提供する環境の中では、'クライアント'(client) プ ログラムを使ってネットワークのどこかにある 'サーバ'(server) プログラム からのサービスを要求します。たとえばあなたが、あるワークステーションに ログインしていて、他のマシンに rlogin したいと考えると仮定します。あな たは、ローカルの 'rlogin' クライアントプログラムを使って、リモートマシ ンの rlogin サービスデーモンに接続します。 1.2 ケルベロスチケット(Kerberos Tickets) Kerberos のもとでは、もしクライアントがそのリクエストのための Kerberos _チケット_ を提示できた場合に、'rlogin' サービスプログラムがそのクライ アントに対してリモートマシンへのログインを許可します。このチケットはサー バプログラムにアクセスするのにクライアントプログラムを使った人の身元を 証明します。 1.3 ケルベロス・マスターデータベース(The Kerberos Master Database) Kerberos は Kerberos のサーバーの _マスターデータベース_ にあなたの記 載のある場合に限って、あなたにチケットを与えるでしょう。データベース記 載には Kerberos ユーザ名(しばしば Kerberos _プリンシパル_ (principal) 名といって参照されます)、および Kerberos パスワードが含まれます。全て の Kerberos ユーザはこのデータベースに記載が必要です。 1.4 チケット-グランティング・チケット(The Ticket-Granting Ticket) いわゆる 'kinit' コマンドが Kerberos のユーザ名とパスワードの入力を促 します。そして、それらが正しく入力されたら、Kerberos _チケット-グラン ティング・チケット_ を手に入れます。以下で示すように、クライアントプロ グラムはこのチケットを、必要となる他の Kerberos チケットを得るのに使い ます。 1.5 ネットワークサービスとマスターデータベース (Network Services and the Master Database) そのマスターデータベースは Kerberos 認証(authentication)を要求する全て のネットワークサービスのための記載も含みます。ここで、あなたのサイトが 'laughter' という、そのマシンに 'rlogin' したい者すべてから Kerberos 認証を要求する、マシンを持っていると仮定します。このサービスはそのマス ターデータベースに登録されていなければなりません。その記載はサービスの プリンシパル名とそれの _インスタンス_ (instance)を含みます。 _インスタンス_ はサービスを用意するマシンの名前で; この場合、サービス のインスタンスは 'laughter' という名前になります。インスタンスは Kerberos に、同様のサービスを用意するマシン間の識別をするための手段を あたえます。あなたのサイトでも 'rlogin' サービスを用意しているマシンが 複数あるでしょう。 1.6 ユーザ-ケルベロス間のやりとり あなたが、(一般のユーザとして)ワークステーションのところまであるい て行き、ログインして、それから 'laughter' というマシンに 'rlogin' する つもりだと仮定します。そのとき、以下のことが起こります。 1. ワークステーションにログインし、チケット-グランティング・チケッ トを得るのに'kinit' コマンドを使います。このコマンドはユーザ名 (あなたの Kerberos プリンシパル名)と Kerberos パスワードの入 力を促します。 [/bin/login の新しいバージョンを使っているあるシステム上では、 これがログイン処理の過程で行なわれ、ユーザがこのプログラムを別 に走らせる必要はありません。] a. 'kinit' コマンドは要求を Kerberos マスターサーバマシン に送ります。サーバソフトウェアはプリンシパル名を Kerberos _マスターデータベース_の記載の中から捜します。 b. もしこの記載があれば、Kerberos サーバはあなたのパスワー ドで暗号化された 'チケット-グランティング・チケット' を作り返します。もし 'kinit' が Kerberos の返事をあな たの用意したパスワードで復号化できれば、後の使用のため に、これをローカルマシン上の _チケットファイル_ に保存 します。使用するそのチケットファイルは _KRBTKFILE_ 環 境変数で指定することもできます。もしこの変数がセットさ れていなければ、そのファイルの名前は /tmp/tk_uid_ とな ります。ここで、 _uid_ は UNIX ユーザID で十進表記です。 2. ここで、マシン 'laughter' にアクセスするための'rlogin' クライ アントを使います。 host% _rlogin_ _laughter_ a. 'rlogin' クライアントはあなたのチケットファイルをチェッ クし、あなたが 'laughter' の 'rcmd' サービス( rlogin プログラムは、歴史的な理由で 'rcmd' サービス名を使いま す)のためのチケットを持っているかを調べます。持ってな ければ、'rlogin' はチケットファイルの 'チケット-グラン ティング・チケット' を使ってマスターサーバのチケット- グランティング・サービスへのリクエストを行ないます。 b. このチケット-グランティング・サービスは 'rcmd-laughter' リクエストを受けとり、マスターデータベースの中に 'rcmd-laughter' の記述を捜します。もし、その記述があれ ば、チケット-グランティング・サービスはあなたにそのサー ビスのためのチケットを発行します。そのチケットはあなた のチケットファイルの中にもキャッシュされます。 c. 'rlogin' クライアントは 'laughter' の 'rlogin' サービ スプログラムからサービスをリクエストするためのチケット を使います。もしそのチケットが正当であれば、そのサービ スプログラムはあなたに 'rlogin' させます。 2. ケルベロスサーバのセットアップとテスト Kerberos サーバのセットアップとテストの手順は次の通りです: 1. 'kdb_init' を使ってマスターデータベースを初期化します。 2. 'kdb_edit' ユーティリティを使ってユーザ名をマスターデータベー スに加えます。 3. Kerberos サーバを起動します。 4. 'kinit' コマンドを使って Kerberos チケット-グランティング・チ ケットを取得します。 5. 'klist' コマンドを使って 'kinit' コマンドで認証が成功したこと を確かめます。 2.1 マスターデータベースの作成と初期化 Kerberos マスターサーバのマシンにログインし、'su' コマンドを使って root になります。もし、'make install' とデフォルトのパス名で Kerberos の管理ツールをインストールしていれば、それらのコマンドは '/usr/etc' ディ レクトリにあるはずです。もし、ツールを異なるディレクトリにインストール していれば、どこかご存知のはずでしょう。これからは、このディレクトリを [ADMIN_DIR] として参照します。 'kdb_init' コマンドはマスターデータベースを創り初期化します。このコマ ンドはそのシステムのレルム(realm)名とそのデータベースのマスターパスワー ドを聞いてきます。このパスワードは忘れないで下さい。もし忘れると、デー タベースは使えなくなります。(あなたの属するレルム名は以下では [REALMNAME] に置き換わっているはずです。) 'kdb_init' を次のように使います: host# [ADMIN_DIR]/kdb_init Realm name (default XXX): [REALMNAME] ←システムのレルム名を入力。 You will be prompted for the database Master password. It is important that you NOT FORGET this password. Enter Password: ←マスターパスワードを入力。 2.2 マスターパスワードの保存 'kstash' コマンドはマスターパスワードをファイル '/.k' に「隠匿」します ので、kerberos サーバの予期せぬリブート時にも自動的に開始させることが できます。他の管理用プログラムもこの隠れパスワードを使えば誰かが手でマ スターパスワードを与えなくてもマスターデータベースにアクセスすることが 出来ます。このコマンドは1つのオプションとなります;もしあなたが Kerberos サーバを起動する時にマスターパスワードをあえて入力したいので あれば、' kstash'は使わないで下さい。 方や 'kstash' を使うと、マスターキーのコピーは受け入れ難いでしょうがディ スクにに置かれ;方や 'kstash' を使わなければ、側にいる誰かがパスワードを 手で打ち込まなければサーバは起動しません。 コマンドはマスターパスワードの入力を1回促します。[原文では2回] host# [ADMIN_DIR]/kstash Enter Kerberos master key: ←マスターパスワードを入力。 Current Kerberos master key version is 1 Master key enterd BEWARE! Kerberos データベースのマスターキーに関する注釈: もしマスターキーが暴 かれてデータベースを盗られると、全ての認証システムのセキュリティが暴か れてしまいます。マスターキーは注意深く秘密に保たなければなりません。も しバックアップをとるならば、誰かが古いバックアップを盗んでその盗まれた バックアップ以来パスワードを変更していないユーザを攻撃しようとすること を考慮して、使っている全てのマスターキーを保護しなければなりません。こ れがディスクに保存しないオプションを用意した理由です。 2.3 'kdb_edit' を使ってユーザをマスターデータベースに追加 'krb_edit' プログラムは新ユーザとサービスをマスターデータベースに加え たり存在するデータベースの情報を修正したります。プログラムはプリンシパ ルの _名前_ と _インスタンス_ の入力を促します。 プリンシパル前は典型的にはユーザ名またはサービスプログラムの名前です。 インスタンスはさらにプリンシパルを形容します。もし、プリンシパルがサー ビスであれば、インスタンスはそのサービスが走るマシンの名前を指定します。 もし、プリンシパルが一般ユーザの権限を持つユーザ名であれば、インスタン スはたいていはヌルにセットされます。 以下の例は 'kdb_edit' でユーザ 'wave' を Kerberos データベースに追加す る手順を示します。 host# [ADMIN_DIR]/kdb_edit Opening database... Enter Kerberos master key: Verifying, please re-enter Enter Kerberos master key: Curent Kerberos master key version is 1 Master key entered. BEWARE! Previous or default values are in [brackets] , enter return to leave the same, or new value. Principal name: 'wave' ←ユーザ名を入力。 Instance: ←ヌル・インスタンスを入力。 , Create [y] ? 'y' ←ユーザインスタンスは存在しない。 y を入力しユーザインスタンス作成。 Principal: wave Instance: m_key_v: 1 New Password: ←ユーザインスタンスのパスワード入力。 Verifying, please re-enter New Password: Principal's new key version = 1 Expiration date (enter dd-mm-yy) [ 12/31/99 ] ? ←デフォルト値 Max ticket lifetime (*5 minuews) [ 255 ] ? ←を得るために Attribures [ 0 ] ? ←改行する。 Edit O.K. Principal name: ←改行してプログラムを終了。 'kdb_edit' ユーティリティを使ってユーザ名をマスターデータベースに加え て下さい。 2.4 ケルベロスサーバの起動 ディレクトリをサーバプログラム kerberos をインストールしたディレクトリ に移動して(デフォルトでは '/usr/etc/' )そして、バックグランドプロセ スとしてプログラムを起動します。 host# ./kerberos & もし、'kstash' コマンドでマスターデータベースのパスワードを保存してし まっていれば、そのサーバは自動的に起動するでしょう。もし 'kstash' を使っ てなければ、次のコマンドを使ってください: host# ./kerberos -m サーバは起動前にマスターパスワードの入力を促します。 2.5 ケルベロスサーバのテスト root アカウントを抜けて 'kinit' コマンドを使い Kerberos チケット-グラ ンティング・チケットを取得します。このコマンドはチケットファイルをを作 り、チケット-グランティング・チケットをその中に保存します。 もし Kerberos のユーザユーティリティのインストールをデフォルトで 'make install' コマンドを使ってしたとすると、'kinit' コマンドは '/usr/athena'ディレクトリにあるでしょう。ここからは、Kerberos のユーザ コマンドディレクトリのことを [K_USER] とします。 'kinit' を次のように使います: host% [K_USER]/kinit MIT Project Athena, (ariadne) Kerberos Initialization Kerberos name: 'yourusername' ← Kerberos ユーザ名を入力。 Password: ← Kerberos パスワードを入力。 'klist' プログラムを使ってチケットファイルの内容を表示します。 host% [K_USER]/klist このコマンドはだいたい次のような表示をします: Ticket file: /tmp/tkt5555 Principal: yourusername@REALMNAME Issued Expires Principal May 6 10:15:23 May 6 18:15:23 krbtgt.REALMNAME@REALMNAME もし何か問題があれば、何らかのエラーがあったのを見るのに kerberos サー バマシン上のログファイル '/kerberos/kerberos.log' を調べることができま す。 3 管理サーバのセットアップとテスト Kerberos 管理サーバのセットアップとテストは次の手順で行ないます: 1. 'kdb_edit' ユーティリティを使ってマスターデータベースへの管理 インスタンスを持つユーザ名を加えます。 2. 管理サーバーのためのアクセス制御リストを編集します。 3. Kerberos 管理サーバを起動します。 4. 'kpasswd' コマンドを使ってパスワードを変更します。 5. 'kadmin' コマンドを使って新たな記載をデータベースに加えます。 6. 'kinit' コマンドを使って 'kadmin' コマンドが新たな記載を正しく データベースに加えことを検証します。 3.1 管理者用の管理インスタンスを追加 Kerberos のマスターサーバマシンにログインし、'su' コマンドを使って root になります。'kdb_edit' プログラムを使って各管理者のための記載を “admin”というインスタンスで作ります。 host# [ADMIN_DIR]/kdb_edit Enter Kerberos master key: Verifying, please re-enter Enter Kerberos master key: Curent Kerberos master key version is 1 Master key entered. BEWARE! Previous or default values are in [brackets] , enter return to leave the same, or new value. Principal name: 'wave' ←ユーザ名を入力。 Instance: 'admin' ←“admin”を入力。 , Create [y] ? 'y' ←ユーザインスタンスは存在しない。 y を入力しユーザインスタンス作成。 Principal: wave Instance: m_key_v: 1 New Password: ←ユーザインスタンスのパスワード入力。 Verifying, please re-enter New Password: Principal's new key version = 1 Expiration date (enter dd-mm-yy) [ 12/31/99 ] ? ←デフォルト値 Max ticket lifetime (*5 minuews) [ 255 ] ? ←を得るために Attribures [ 0 ] ? ←改行する。 Edit O.K. Principal name: ←改行してプログラムを終了。 3.2 アクセス制御リスト Kerberos 管理サーバはあるリクエストに対して誰が認定されているかを定め るのに3つのアクセス制御リストを使います。それらのアクセス制御リストは Kerberos サーバのプリンシパルデータベースがあるところと同じディレクト リ'/kerberos' に保存されます。アクセス制御リストは単純な ASCII テキス トファイルで、各行には一人の特別な機能を許されたプリンシパルの名前を指 定しています。幾人かの人々に同じ機能をさせるためには、その人々のプリン シパル名を同じファイル内の別々の行に置きます。 第1のリスト '/kerberos/admin_acl.mod' は、データベースの中の記載の変更 を認められたプリンシパルのリストです。管理者 'wave' にレルム‘TIM.EDU’ のためのデータベース内の記載を修正を許すには、次の行をファイル '/kerberos/admin_acl.mod' に入れます: wave.admin@TIM.EDU 第2のリスト '/kerberos/admin_acl.get' は、データベースの記載を取得する ことを認められたプリンシパルのリストです。 第3のリスト '/kerberos/admin_acl.add' は、データベースに新たな記載を加 えることを認められたプリンシパルのリストです。 3.3 管理サーバの起動 ディレクトリを管理サーバプログラム 'kadmind' をインストールしたディレ クトリに移動して(デフォルトディレクトリは '/usr/etc/' )そして、バッ クグランドプロセスとしてプログラムを起動します。 host# ./admind -n & もし、'kstash' コマンドでマスターデータベースのパスワードを保存してし まっていれば、そのサーバは自動的に起動するでしょう。もし 'kstash' を使っ てなければ、次のコマンドを使ってください: host# ./admind サーバは起動直前にマスターパスワードの入力を促します。プログラムが起動 した後、一旦停止させてバックグラウンドに置き換えます(普通は control-Z をタイプしてそれから _bg_ します)。 3.4 'kpasswd' のテスト 管理サーバをテストするのに、パスワードを 'kpasswd' コマンドで試してみ るべきです。それから、'kadmin' コマンドで新たなユーザを加えてみるべき です(これらのコマンドは、デフォルトでは、 '/usr/athena' にインストー ルされています)。 テストの前に、root アカウントを抜けましょう。 host% [K_USER]/kpasswd Old password for wave@TIM.EDU: ← パスワードを入力。 New Password for wave@TIM.EDU: ← 新パスワードを入力。 Verifying password New Password for wave@TIM.EDU: ← 新パスワードを入力。 Password changed. 一度パスワードを変更してしまったら、前述のように 'kinit' プログラムを 使って確かにパスワードが変更されたことを検証します。 3.5 'kadmin' のテスト 新たなユーザ(ここでは“username”と言う名前)の追加により、'kadmin' プログラムの機能のテストも行なうべきです。 host% _[K_USER]/kadmin_ Welcome to the Kerberos Administration Program, version 2 Type "help" if you need it. admin: _ank username_ ‘ank’は Add New Key の省略 Admin password: ←パスワードを入力。 'wave.admin のためのパスワード' Password for username: ←ユーザの最初のパスワード入力。 Verifying password Password for username: admin: quit Cleaning up and exiting. 3.6 'kinit' での検証 一度新しいユーザを加えてしまったら、それが確かに加えられていることを 'kinit' を使って確かめるテストをすべきで、そして、そのユーザのためのチ ケットを取ってみます。 host% [K_USER]/kinit username MIT Project Athena, (ariadne) Kerberos Initialization for "username@TIM.EDU" Password: ← 上記ユーザのを入力。 host% [K_USER]/klist Ticket file: /tmp/tkt_5509_spare1 Principal: username@TIM.MIT.EDU Issued Expires Principal Nov 20 15:58:52 Nov 20 23:58:52 krbtgt.TIM.EDU@TIM.EDU もしなにか問題があれば、Kerberos サーバマシン上にあるそれぞれのログファ イル /kerberos/kerberos.log と /kerberos/admin_server.syslog を調べて エラーが起こっていないかを確かめることができます。 4. スレーブサーバのセットアップとテスト [残念ながらこの章はまだ準備ができてません。-ed] 5. サンプルアプリケーション kerberos のこのリリースはサンプル・アプリケーションサーバとそれに対応 するクライアントプログラムが附属します。このソフトウェアは [OBJ_DIR]/appl/sample ディレクトリにあります。ファイル 'sample_client' はクライアントの実行モジュールで、ファイル 'sample_server' はサーバの 実行モジュールです。 これらのプログラムは初歩的なものです。これらをインストールしてしまったら (インストールの手順については詳細に後述します)、次のように動作します: ● ユーザは 'sample_client' をコマンドの引数にサーバマシン名とチェッ クサムを付けて起動します。実際には: host% sample_client 'servername' 43 ● 'sample_client' はサーバマシンに接触し、'sample_server' へのユー ザの認証を行ないます。 ● 'sample_server' はそれ自身の 'sample_client' への認証をし、そ して、クライアントプログラムにメッセージを返します。このメッセー ジはユーザ名、Kerberos レルム、ユーザのワークステーションアド レスを含む診断情報を内容とします。 ● 'sample_client' はユーザの端末画面にサーバのメッセージを表示し ます。 5.1 プロセスのインストール 一般的に次の手順でケルベロス認証によるサーバ-クライアントシステムをイ ンストールします。 1. 'krb_edit' または 'kadmin'(後述) を使って Kerberos データベー スに適切な記載を行ないます。 2. サーバマシンのために '/etc/srvtab' ファイルをつくります。 3. サービスプログラムと '/etc/srvtab' ファイルサーバマシンにイン ストールします。 4. クライアントプログラムをクライアントマシンにインストールします。 5. クライアントとサーバ双方のマシン上の '/etc/services' ファイル をアップデートします。 ここではサンプル・アプリケーションを例に使いますが、'sample_server' は 'inetd' プログラムを介してのリクエストを受けますので、'sample_server' のインストールに使われる手順は一般的な場合と多少異なります。クライアン ト処理がサーバマシンにコンタクトする毎に 'inetd' が 'sample_server' を 走らせます。'sample_server' は要求を処理し終了します。そして、'inetd' が別の 'sample_client' の要求を受けたときに再起動されます。サーバにプ ログラムをインストールするときには、'sample' の記載をサーバマシンの '/etc/inetd.conf' ファイルに加えなければなりません。 以下の記述は 'sample_server' を ariadne.tim.edu というマシンにインストー ルすることを仮定します。これは段階を追っての手順です: 1. Kerberos サーバマシンに root でログインするか 'su' で root に なります。'kdb_edit' または 'kadmin' プログラムを使って、 kerberos データベースに 'sample' の記載をつくります。 host# [ADMIN_DIR]/kdb_edit Opening database... Current Kerberos master key version is 1 Enter current Kerberos master key: Verifying, please re-enter master key enterd. BEWARE! previous or default values are in [brackets] , enter return to leave the same, or new value. Principal name: sample ←プリンシパル名を入力。 Instance: ariadne ←インスタンス自身にはピリオド無し。 , Create [y] ? y Principal: sample_server Instance: ariadne m_key_v: 1 New Password: ランダムなパスワードを得るために "RANDOM" と入力。 Verifying, please re-enter New Password: "RANDOM" を再入力。 Random password [y] ? y Principal's new key version = 1 Expiration date (enter dd-mm-yy) [ 12/31/99 ] ? Max ticket lifetime (*5 minutes) [ 255 ] ? Attributes [ 0 ] ? Edit O.K.then there were space for Principal name: 改行して kdb_edit を終了。 2. 'ext_srvtab' プログラムを使って 'sample_server' のホストマシン のための 'srvtab' ファイルをつくります: host# [ADMIN_DIR]/ext_srvtab ariadne Enter current Kerberos master key: Current kerberos master key version is 1. Generating 'areadne-new-srvtab'.... この 'areadne-new-srvtab' ファイルを 'ariadne' に転送して '/etc/srvtab' としてインストールします。このファイルはサービス のパスワードと等価で扱いには気をつけるべきなので注意しておいて 下さい。例えば、取り外し可能な媒体で転送するのは構いませんが、 決して無防備なオープン・ネットワークを通して送るべきではありま せん。一度インストールした後はこのファイルは root のみ読み出し 可能とすべきです。 3. 次の行を 'ariadne' と 'sample_client' プログラムを実行する全の マシンの '/etc/services' ファイルに加えます: sample 906/tcp # kerberos sample app server 4. 次のような行を 'sample_server' のマシンの '/etc/inetd.conf' ファ イルに加えます: sample stream tcp nowait switched root [PATH]/sample_server sample_server ここで [PATH] は 'sample_server' プログラムのパスに置き換えら れるべきです。(この 'inetd.conf' の情報は1行で書かなくてはな らないはずです。)'/etc/inetd.con' の既存の行を調べて、他の記 載(例えば 'telnet')で使われているのと同じにフォーマットを使 うべきです。ほとんどのシステムでは 'switched' キーワードのカラ ムは持っていませんし、幾つかのシステムではユーザー名(たいてい は上記のように 'root')のカラムは持っていません。 5. 既に走っている 'inetd' にハングアップシグナルを送って 'inetd' を再起動します。 host# kill -HUP プロセスid番号 6. これで、'sample_server' は 'sample_client' のリクエストを受け る準備ができました。 5.2 Sample Server のテスト ここでは、'sample_server' を ariadne にインストールしたと仮定します。 自分のワークステーションにログインして 'kinit' コマンドで Kerberos の チケット-グランティング・チケットを取得します: host% [K_USER]/kinit MIT Project Athena, (あたたのワークステーション) Kerberos Initialization Kerberos name: _yourusername_ ← Kerberos ユーザ名を入力。 Password: ← Kerberos パスワードを入力。 それから 'sample_client' をプログラムを次のように使いいます: host% [PATH]/sample_client ariadne そのコマンドは次のような表示を出すはずです: The server says: Your are _yourusername_.@REALMNAME (local name _yourusername_), at address _yournetaddress_, version VERSION9, cksum 997 6. サービス名とその他のサービス 6.1 rlogin, rsh, rcp, tftp およびその他 多くのサービスは認証の目的のために公のプリンシパル名を使います。 rlogin, rsh, rcp, tftp およびその他は“rcmd”をプリンシパル名に使いま す。例えば、マシン 'areadne' に Kerberos rlogin をサポートさせるセット アップをするには、プリンシパル“rcmd”、インスタンス“areadne”のため のサービス鍵を持つことが必要です。これはサンプル・サービスのために上述 した方法と同じ方法でこの鍵をつくることができます。 この鍵をつくった後は、'ext_srvtab' プログラムを走らせてもう一度 areadne のための srvtab ファイルを生成する必要があります。 6.2 NFS の修正 NFS の修正はマシン名(sample server や rlogin, rsh, rcp, tftp サービス のと同様)にセットされたインスタンスとサービス名“rvdsrv”を使って別々 に配布されます。 6.3 その他の inetd.conf の記載 次は、rlogin 暗号化(encrypted) rlogin, rsh, および rcp サービスのため にサーバマシンに必要な '/etc/inetd.conf' 記載です。上述のようにあなた の 'inetd.conf' はここで示す全てのフィールドはサポートしてないかも知れ ません。 klogin stream tcp nowait unswitched root [PATH]/klogind klogind eklogin stream tcp nowait unswitched root [PATH]/klogind klogind -e kshell stream tcp nowait unswitched root [PATH]/kshd kshd 目次 1. ケルベロスの働き: 概略説明 1.1 ネットワークサービスとそのクライアントプログラム (Network Services and Their Client Programs) 1.2 ケルベロスチケット(Kerberos Tickets) 1.3 ケルベロス・マスターデータベース(The Kerberos Master Database) 1.4 チケット-グランティング・チケット(The Ticket-Granting Ticket) 1.5 ネットワークサービスとマスターデータベース (Network Services and the Master Database) 1.6 ユーザ-ケルベロス間のやりとり 2. ケルベロスサーバのセットアップとテスト 2.1 マスターデータベースの作成と初期化 2.2 マスターパスワードの保存 2.3 'kdb_edit' を使ってユーザをマスターデータベースに追加 2.4 ケルベロスサーバの起動 2.5 ケルベロスサーバのテスト 3 管理サーバのセットアップとテスト 3.1 管理者用の管理インスタンスを追加 3.2 アクセス制御リスト 3.4 'kpasswd' のテスト 3.5 'kadmin' のテスト 3.6 'kinit' での検証 4. スレーブサーバのセットアップとテスト 5. サンプルアプリケーション 5.1 プロセスのインストール 5.2 Sample Server のテスト 6. サービス名とその他のサービス 6.1 rlogin, rsh, rcp, tftp およびその他 6.2 NFS の修正 6.3 その他の inetd.conf の記載