Mac OS X Server:Open Directory の管理者パスワードをリセットする方法
Open Directory の管理者パスワードをリセットする方法を説明します。
はじめに
Open Directory の管理者パスワードはユーザデータに触れずにリセットできます。この手順が必要なのは、たとえば、Open Directory の管理者がパスワードを知らせずにいなくなってしまった場合です。
Open Directory の管理者ユーザのスロット ID が必要になるため、必ず最初にディレクトリからスロット ID を抽出することになります。次に管理者パスワードを変更する必要があります。これを行うには、ローカル管理者としてサーバにアクセスするためのアクセス権と、インタラクティブシェル (ターミナルや SSH など) を使ったサーバへのアクセスが必要になります。
スロット ID を抽出する
Mountain Lion 以降
OS X v10.8 以降で Open Directory の管理者パスワードをリセットする場合は、こちらの記事 の手順を参照してください。
Lion Server
ディレクトリエディタを開き、管理者のユーザ名とパスワードで認証します。ディレクトリエディタは「/システム/ライブラリ/CoreServices/ディレクトリユーティリティ」にあります。
「ディレクトリエディタ」パネルを選択します。
Open Directory のマスターのノードに移動します。マスターのノードに移動するには、「ノード」ポップアップメニューを選択し、「/LDAPv3/127.0.0.1」を選択します。
ディレクトリの管理者アカウントを選択します。
表示される属性のリストから、「AuthenticationAuthority」の横にある詳細表示三角形をクリックして、関連するすべての値を表示します。
「AuthenticationAuthority」属性の中で「;ApplePasswordServer;」で始まる値を選択します。
下部の「テキスト」パネルをクリックします。
下の図で強調表示されているように、「;ApplePasswordServer;」とカンマの間の値がスロット ID です。あとで利用できるように、この値をコピーします。この値は 0x から始まります。
Mac OS X Server v10.3 ~ v10.6
管理者のユーザ名とパスワードでワークグループマネージャを開きます。
Open Directory のマスターのノードに移動します (注意:ワークグループマネージャは、マスターまたはレプリカのどちらにでも接続できます。必要なのは、接続後にマスターのノードに移動することです)。
ワークグループマネージャの環境設定で「"すべてのレコード" タブとインスペクタを表示する」オプションを選択します。
ディレクトリの管理者アカウントを選択し、「インスペクタ」タブをクリックします。
表示される属性のリストから、「AuthenticationAuthority」の横にある詳細表示三角形をクリックして、関連するすべての値を表示します。
「AuthenticationAuthority」属性の中で「;ApplePasswordServer;」で始まる値を選択します。
「編集」をクリックします。
下の図で表示されているように、「;ApplePasswordServer;」とカンマの間の値がスロット ID です。あとで利用できるように、この値をコピーします。
ターミナルを使ってスロット ID を抽出する (Mac OS X Server v10.3 ~ 10.7.4)
ローカル管理者のユーザアカウントを使ってサーバにログインし、ターミナルを開きます。
次のコマンドを実行します。
sudo mkpassdb -dump
プロンプトが表示されたら、管理者パスワードを入力します。
対応するスロット ID とユーザ名のリストが表示されます。ディレクトリの管理者のユーザ名の左側にある <slot-ID> を見つけます。ID は 0x で始まり、ユーザ名の前で終わります。下記は、その例です。
「slot 002: 0x479e48fe68b4567000000002000000002 diradmin 03/11/2008 02:12:30 PM」
あとで利用できるように、この値をコピーします。
Open Directory の管理者パスワードをリセットする
Lion Server 以降
OS X v 10.7.5 以降で Open Directory の管理者パスワードをリセットする場合は、こちらの記事 の手順を参照してください。
Mac OS X Server v10.3 ~ v10.7.4
ローカル管理者のユーザアカウントを使ってサーバにログインし、ターミナルを開きます。
次のコマンドを入力します。
sudo su
プロンプトが表示されたら、管理者パスワードを入力します。
次のコマンドを入力します。
mkpassdb -setpassword slot-ID
<slot-ID> は上記で取得した値に置き換えます。新しいディレクトリの管理者パスワードを入力するように求められます。ワークグループマネージャを使って <slot-ID> を取得できない場合は、「ターミナルを使ってスロット ID を抽出する」の手順を実行してください。
重要:この段階では、root 権限でセッションを実行しています。システムに問題が生じないように、手順が完了したらすぐにターミナルを終了してください。