Mac OS X Server:オープンディレクトリの管理者パスワードをリセットする方法
概要
オープンディレクトリの管理者が、パスワードを受け渡さずに会社を辞めてしまうという状況が発生した場合に、ユーザデータに手を加えることなく、この問題を解決する方法を説明します。
対象製品
Mac OS X Server 10.4, Mac OS X Server 10.3, Mac OS X Server 10.5, Mac OS X Server 10.4.x (Universal), Mac OS X Server 10.4.x (PowerPC)
この場合、オープンディレクトリの管理者ユーザのスロット ID が必要になるため、最初の作業は、ディレクトリからスロット ID を抽出することになります。次に、管理者パスワードを変更しますが、これには、ローカル管理者としてサーバにアクセスするためのアクセス権と、「ターミナル」や ssh などのインタラクティブシェルを使ったサーバへのアクセスが必要になります。
スロット ID の抽出
- 管理者のユーザ名とパスワードを使って 「ワークグループマネージャ」を開き、オープンディレクトリのマスターノードまで移動します。(注意:「ワークグループマネージャ」は、マスターまたはレプリカのどちらにでも接続できます。必要なのは、接続後にマスターノードに移動することです。)
- ワークグループマネージャの環境設定で「“すべてのレコード”タブとインスペクタを表示する」オプションを選択します。
- ディレクトリの管理者アカウントを選択し、「インスペクタ」タブをクリックします。
- 表示される属性のリストから、「AuthenticationAuthority」の横にある詳細表示三角形をクリックして、関連するすべての値を表示します。
- 「AuthenticationAuthority」属性の中で「;ApplePasswordServer;」で始まる値を選択して、「編集」をクリックします。
- 次の図に示されているように、「;ApplePasswordServer;」に続く、カンマまでの値がスロット ID です。後で利用できるよに、この値をコピーしてください。

「ターミナル」を使用したスロット ID の抽出
- ローカル管理者のユーザアカウントを使ってサーバにログインし、「ターミナル」を開きます。
- 次のコマンドを実行します。
sudo mkpassdb -dump
- プロンプトが表示されたら、管理者パスワードを入力します。
- 対応するスロット ID と共にユーザ名がリスト表示されます。
- ディレクトリの管理者のユーザ名の左側にある
を見つけます。ID は、次の例のように 0x で始まり、ユーザ名の前で終わります。
「slot 002: 0x479e48fe68b4567000000002000000002 diradmin 03/11/2008 02:12:30 PM」 - 後で利用できるよに、この値をコピーしてください。
オープンディレクトリの管理者パスワードのリセット
- ローカル管理者のユーザアカウントを使ってサーバにログインし、「ターミナル」を開きます。
- 次のコマンドを入力します。
sudo su
- プロンプトが表示されたら、管理者パスワードを入力します。
- 次のコマンドを入力してください。
mkpassdb -setpassword slot-ID
をパート 1 で取得した値に置き換えます。新しいディレクトリ管理者のパスワードを入力するように求められます。「ワークグループマネージャ」を使用して を取得できない場合は、「ターミナル」を使ってスロット ID を抽出できます。
- 重要:この段階では、ルート権限でセッションを操作しているという点に注意してください。間違ってシステムに損傷を与えることがないように、必ずこの段階でターミナルを終了してください。
この記事を評価する: