SEAM をインストールすると、ユーザーは 2 つのパスワードを持ちます。通常の Solaris パスワードと Kerberos パスワードです。この 2 つのパスワードは同じにすることも別にすることもできます。
Kerberos 化されていないコマンド (login など) は通常、PAM を通じて Kerberos と UNIX の両方で認証されるように設定されています。両方のパスワードが異なる場合、適切な認証でログインするには、両方のパスワードを入力する必要があります。しかし、両方のパスワードが同じ場合、最初に UNIX 用に入力したパスワードが Kerberos でも受け入れられます。
残念ながら、両方のパスワードを同じにした場合、セキュリティが保護されない可能性があります。つまり、誰かが Kerberos パスワードを知った場合、その UNIX パスワードはもはやパスワードとしての機能を果たせなくなります。しかし、UNIX と Kerberos で同じパスワードを使用しても、Kerberos 環境のパスワードはネットワークに送信されないため、Kerberos を使用しないサイトよりはまだセキュリティが保護されます。通常、ユーザーが選択できるようになっています。
Kerberos パスワードは、Kerberos がユーザーの識別情報を確認する唯一の方法です。ユーザーの Kerberos パスワードを他のユーザーが知った場合、Kerberos のセキュリティは保護されなくなり、そのユーザーになりすますことができます。そして、そのユーザーとして電子メールを送信したり、ファイルの読み取り、編集、削除をしたり、他のホストにログインしたりできます。そして、誰もそれを見破ることはできません。このため、適切な予想されにくいパスワードを選択して、それを秘密にしておくことが大切です。自分のアカウントへのアクセス権を他のユーザーに許可する必要がある場合、Kerberos を使用すれば、パスワードを教える必要はありません (「自分のアカウントへのアクセス権を許可する」を参照)。パスワードはシステム管理者にでも誰にも教えるべきではありません。さらに、パスワードは頻繁に変更する必要があります。特に、誰かに知られたと思われる場合にはすぐに変更してください。
パスワードには、入力できる任意の文字を使用できます (Control キーと Return キーを除く)。パスワードは、覚えやすく、他人には推測できないパスワードにする必要があります。次のようなパスワードは使用すべきではありません。
辞書の中にある単語
一般的な名前
有名な人またはキャラクタの名前
本人の名前またはユーザー名 (順番を変えたものも不可。たとえば、逆に並べたものや 2 回繰り返したものなど)
配偶者、子供、またはペットの名前
本人または身内の誕生日
社会保険番号、運転免許証番号、パスポート番号などの ID 番号
このマニュアルなどで使用したサンプルのパスワード
パスワードには少なくとも 8 文字を使用してください。さらに、大文字、小文字、数字、句読文字などを混在させます。次に、パスワードとして適している例を示します。ただし、このマニュアルで使用するものをそのまま使用しないてください。
頭字語 (「I2LMHinSF (I too left my heart in San Francisco)」など)
発音しやすいが意味のない単語 (「WumpaBun」や「WangDangdoodle!」など)
わざとスペルを間違えた熟語 (「6o'cluck」や「RrriotGrrrlsRrrule!」など)
これらの例を使用しないでください。マニュアルで使用しているパスワードは、最初にパスワードとして試されます。
Kerberos パスワードを変更する方法は 2 つあります。
通常の UNIX の passwd コマンドを使用する方法
SEAM をインストールすると、Solaris の passwd コマンドは自動的に新しい Kerberos パスワードも入力するようにメッセージが表示されます。
kpasswd ではなく passwd を使用する利点は、両方 (UNIX と Kerberos) のパスワードを同時に設定できることです。しかし、passwd を使用しても、両方のパスワードを変更する必要はありません。ほとんどの場合、UNIX パスワードだけを変更して、Kerberos パスワードはそのままにしたり、あるいはその逆にします。
passwd の動作は、PAM モジュールの構成によって異なります。構成によっては、両方のパスワードを変更するように要求されることもあります。サイトによっては、UNIX パスワードを変更しなければならないことも、Kerberos パスワードを変更しなければならないこともあります。
kpasswd コマンドを使用する方法
kpasswd は passwd と非常に似ています。両者の違いとして、kpasswd は Kerberos パスワードだけを変更します。UNIX パスワードを変更する場合は、passwd を使用します。
もう 1 つの違いとして、kpasswd は UNIX ユーザーには無効な Kerberos プリンシパルのパスワードを変更できます。たとえば、david/admin は Kerberos プリンシパルですが、実際の UNIX ユーザーではない場合、passwd ではなく kpasswd を使用します。
パスワードを変更した後、システム全体に変化を伝達するには多少の時間がかかります (特に、大きなネットワークでは)。システムの構成によって、数分から数時間にまで及ぶこともあります。パスワードの変更後、すぐに新しい Kerberos チケットを取得する必要がある場合は、まず、新しいパスワードを試してみます。新しいパスワードが動作しない場合は、古いパスワードでもう一度試してみます。
Kerberos V5 を使用すると、システム管理者はユーザーごとに許可できるパスワードについての基準を設定できます。このような基準を定義するには、ユーザーごとにポリシーを設定します。あるいは、デフォルトのポリシーを使用します。ポリシーについての詳細は、「ポリシーの管理」を参照してください。たとえば、jennifer のポリシー (jenpol と呼ぶ) では、パスワードが少なくとも 8 文字あり、少なくとも 2 種類の文字を混在させることが必要であるとします。したがって、「sloth」というパスワードを使用しようとすると、kpasswd はこれを拒否します。
% kpasswd kpasswd: Changing password for jennifer@ENG.ACME.COM. Old password: <jennifer は自分の既存のパスワードを入力する> kpasswd: jennifer@ENG.ACME.COM's password is controlled by the policy jenpol which requires a minimum of 8 characters from at least 2 classes (the five classes are lowercase, uppercase, numbers, punctuation, and all other characters). New password: <jennifer は「sloth」と入力する> New password (again): <jennifer はもう 1 度「sloth」と入力する> kpasswd: New password is too short. Please choose a password which is at least 4 characters long. |
次に、jennifer は「slothrop49」というパスワードを使用します。「slothrop49」は 8 文字以上あり、2 種類の文字 (数字と小文字) を使用しているため、基準に適合します。
% kpasswd kpasswd: Changing password for jennifer@ENG.ACME.COM. Old password: <jennifer は自分の既存のパスワードを入力する> kpasswd: jennifer@ENG.ACME.COM's password is controlled by the policy jenpol which requires a minimum of 8 characters from at least 2 classes (the five classes are lowercase, uppercase, numbers, punctuation, and all other characters). New password: <jennifer は「slothrop49」と入力する> New password (again): <jennifer はもう一度「slothrop49」と入力する> Kerberos password changed. |
次の例では、david が passwd で自分の UNIX と Kerberos の両方のパスワードを変更しています。
% passwd passwd: Changing password for david Enter login (NIS+) password: <現在の UNIX パスワードを入力する> New password: <新しい UNIX パスワードを入力する> Re-enter password: <新しい UNIX パスワードを確認する> Old KRB5 password: <現在の Kerberos パスワードを入力する> New KRB5 password: <新しい Kerberos パスワードを入力する> Re-enter new KRB5 password: <新しい Kerberos パスワードを確認する> |
上記の例では、passwd が UNIX と Kerberos の両方のパスワードの入力を求めています。しかし、PAM モジュールで try_first_pass が設定されている場合、Kerberos パスワードは自動的に UNIX パスワードと同じに設定されます。これはデフォルトの構成です。このような構成では、david が自分の Kerberos パスワードを別に設定したい場合、次のように kpasswd を使用する必要があります。
次の例では、david が kpasswd で自分の Kerberos パスワードだけを変更しています。
% kpasswd kpasswd: Changing password for david@ENG.ACME.COM. Old password: <現在の Kerberos パスワードを入力する> New password: <新しい Kerberos パスワードを入力する> New password (again): <新しい Kerberos パスワードを確認する> Kerberos password changed. |
次の例では、david が Kerberos プリンシパル david/admin (有効な UNIX ユーザーでない) 用のパスワードを変更しています。これを行うには、kpasswd を使用します。
% kpasswd david/admin kpasswd: Changing password for david/admin. Old password: <現在の Kerberos パスワードを入力する> New password: <新しい Kerberos パスワードを入力する> New password (again): <新しい Kerberos パスワードを確認する> Kerberos password changed. |
自分のユーザー名で他のユーザーにログインを許可する必要がある場合、Kerberos を使用すれば、パスワードを教える必要はありません。つまり、.k5login ファイルを自分のホームディレクトリに置きます。.k5login ファイルは、アクセス権を許可するユーザーに対応する 1 つまたは複数の Kerberos プリンシパルのリストです。1 行に 1 つのプリンシパルを指定します。
ユーザー david が次のような .k5login ファイルを自分のホームディレクトリに置いていると仮定します。
jennifer@ENG.ACME.COM joe@ACME.ORG |
このファイルによって、ユーザー jennifer と joe は david の識別情報を利用できます。ただし、彼らがすでに Kerberos チケットを各自のレルムに持っていることを条件とします。たとえば、jennifer は、david のパスワードを指定せずに、david のマシン (boston) に david として rlogin を実行できます。
david のホームディレクトリが別の (3 番目の) マシンから Kerberos V5 プロトコルで NFS マウントされている場合、jennifer は david のホームディレクトリにアクセスするためには転送可能チケットが必要です。転送可能チケットの使い方の例については、「チケットを作成するには」を参照してください。
ネットワークを通じて他のマシンにログインする場合、(ログインしたい) 各マシン上の .k5login ファイルに自分独自の Kerberos プリンシパルを入れておくこともできます。
.k5login ファイルを使用する方法は、パスワードを公表するよりもセキュリティ上安全です。
アクセスを禁止するには、.k5login ファイルからプリンシパルを削除するだけです。
ユーザー本人のホームディレクトリにある .k5login ファイルに指定された他のユーザーは、そのマシン (あるいは、NFS などで .k5login ファイルを共有している場合は、複数のマシン) 上でユーザー本人のアカウントへの完全なアクセス権を許可されますが、ネットワーク特権は継承しません。つまり、Kerberos 化されたサービスは、ユーザー本人ではなく、.k5login ファイルに指定された他のユーザーの識別情報によりアクセス権を認証します。したがって、jennifer は joe のマシンにログインしてさまざまな作業を行うことができますが、Kerberos 化されたプログラム (ftp や rlogin など) を使用するときは、jennifer 自身として行います。
Kerberos はチケットを取得する人のログを記録します。したがって、システム管理者は、必要であれば、ユーザー本人のユーザー識別情報を特定の時間に使用できる他のユーザーを調べることができます。
.k5login ファイルの最も一般的な使い方では、.k5login ファイルを root のホームディレクトリに置くことによって、そのマシンへの root アクセス権を .k5login ファイルに指定された Kerberos プリンシパルに許可します。これによって、システム管理者は root のパスワードを指定しなくても (すなわち、ネットワークに root パスワードを入力しなくても)、ローカルで root になる (つまり、リモートから root としてログインする) ことができます。
jennifer がマシン boston.acme.com に root としてログインすると仮定します。boston.acme.com 上の root のホームディレクトリにある .k5login ファイルには jennifer のエントリがあるため、jennifer はもう一度自分のパスワードを入力する必要がありません。
% rlogin boston.acme.com -l root -x This rlogin session is using DES encryption for all data transmissions. Last login: Thu Jun 20 16:20:50 from daffodil SunOS Release 5.7 (GENERIC) #2: Tue Nov 14 18:09:31 EST 1998 boston[root]% |