Mac OS X 10.3 and later: Active Directory とオープンディレクトリにバインドされているワークステーションにユーザがログインできない
現象
Active Directory (AD) およびオープンディレクトリ (OD) にバインドされているワークステーションにユーザがログインできません。以下の場合に当てはまります:
- 「ディレクトリアクセス」が Mac OS X 10.3 Server(OD マスターモード)と Active Directory の両方にバインドされている Mac OS X 10.3 クライアント。または、
- アップルのスキーマを持ち、Kerberos 設定ファイルを適用している LDAP ディレクトリと連係した Mac OS X 10.3 Server(OD マスターモード)。
Mac OS X 10.3 Panther 以降では、Mac OS X クライアントは、“KerberosClient”レコードを含んでいる LDAP サーバ(OD など)へバインドされると、自動的に Kerberos の設定情報を生成しようとします。AD プラグインもまた、AD へバインドすると、自動的に Kerberos を設定しようとします。これらのメカニズムは、ファイル「
/ライブラリ/Preferences/edu.mit.Kerberos
」にデータを書き出します。
お使いのクライアントコンピュータが、ユーザの認証用に AD にバインドされていて、Mac OS X に管理されているクライアント項目用に OD にバインドされている場合、クライアントコンピュータは自動的に、OD サーバと AD プラグインの KerberosClient レコードを使用して Kerberos の設定を行おうとします。これがうまく行き、両方のソースから正しい情報を取得できることもありますが、場合によっては、AD ドメインコントローラの前に OD サーバが情報を返し、クライアントは OD の情報でしか設定されないことがあります。クライアントコンピュータは AD Kerberos のことを事実上「忘れる」ため、結果としてユーザはそのワークステーションにログインできなくなります。Mac OS X は AD に対するユーザ認証に Kerberos を使用するため、OD サーバからの Kerberos の設定は無関係となります。
クライアントが、上述の 2 つのソースからの情報を衝突させてしまうのを防ぐには、OD サーバ上の KerberosClient レコードの名前を変更します。こうすることで、クライアントは AD からのみ Kerberos 情報を取得でき、この情報が毎回ユーザがログインするときの正しい情報となります。
対象製品
Mac OS X Server 10.4, Mac OS X Server 10.3
解決方法
この問題を解決するには、次の手順を実行します:
- 「ワークグループマネージャ」を開きます。
- 対象の OD マスターにディレクトリ管理者として接続します。
- 「環境設定」で「“すべてのレコード”タブとインスペクタを表示する」チェックボックスを選択します(警告ダイアログを確認します)。
- 標的の絵のアイコンをクリックして、インスペクタを有効にします。

- 左側のリストの上にポップアップメニューが表示されます。ここに、属性のコンテナすべてが表示されます。Config コンテナを選択します。
- Config コンテナに属性のリストが表示されます。
- 左側のリストから KerberosClient 属性を選択します。
- 右側のインスペクタのパネルには、この属性の生(未処理の)ディレクトリデータが表示されています。
- 右側のインスペクタのパネルから "RecordName" キーを選択します。このキーに KerberosClient に対応する値が含まれています。
- インスペクタパネルの下の「編集」ボタンをクリックして、この属性の RecordName を編集します。
- 編集パネルが表示されます。「テキスト」フィールドのテキストを "KerberosClient" から何か別のテキスト(たとえば "KerberosClient_DONOTUSE" など)に変更して、「OK」をクリックします。
注記:"KerberosClient" を変更することが目的であり、どのように変更するかは重要ではありません。"KerberosClient" が見つからないと、クライアントは Kerberos を自動設定しようとしないので、この方法が役に立ちます。 - この属性のインスペクタパネルに戻ります。キー RecordName の値が、KerberosClient の代わりに入力した値になっているはずです。
- 「保存」をクリックします。KerberosClient 属性の名前を変更したので、クライアントはもう OD から Kerberos の自動設定情報を取得しません。取得されるのは AD からの情報で、これが必要としていたものです。
注記:後で OD からの Kerberos の自動設定をもう一度有効にする場合は、単に "KerberosClient_DONOTUSE"(または自分で付け替えた名前)を "KerberosClient" に戻すと、Macintosh クライアントはもう一度そこから設定データを引き出します。
この記事は、追加情報が提供されるたびに随時更新を行う予定です。