管理者パスワードを回復もしくはリセットするにはどうしたらいいですか?

From Joomla! Documentation

This page is a translated version of the page How do you recover or reset your admin password? and the translation is 100% complete.

Other languages:
Deutsch • ‎Ελληνικά • ‎English • ‎español • ‎eesti • ‎فارسی • ‎français • ‎italiano • ‎日本語 • ‎Nederlands • ‎português • ‎português do Brasil • ‎русский • ‎ไทย • ‎Türkçe • ‎中文(中国大陆)‎ • ‎中文(台灣)‎
Joomla! 1.5 のパスワードの復元

このページはJoomla! 2.5以降のためのページです。もしまだJoomla! 1.5を使っているのなら、 こちらを確認してください。.

通常は、バックエンドのユーザーマネージャーからユーザーの追加・編集・削除を行うことができます。その為には、Super Administratorのグループのメンバーでログインしなければなりません。

場合によっては、この方法は使えないでしょう。例えば、サイトが"ハック"され、パスワードやユーザーを変更された場合。パスワードを知っている人がもう現れない場合。あなたがパスワードを忘れてしまった場合など。

この様な場合でもまだ、Super AdministratorでログインするためにJoomla!のデータベースを変更することができます。これらはJoomla!の管理者が利用可能な方法です。

方法1:configuration.phpファイル

Joomlaがインストールされたサーバーのconfiguration.phpにアクセスできるなら、以下の方法でパスワードを回復できます。

1. FTPプログラムを使用して、サイトに接続します。configuration.phpファイルを見つけたら、パーミッションを確認します。444や他の場合は、644に変更します。これは後々、変更後のconfiguration.phpをアップロードするときの問題を防ぎます。

2. configurationファイルをダウンロードします。

3. ダウンロードしたconfiguration.phpをnotepad++などのテキストエディタで開き、リストの下に

public $root_user='myname';

の行を追加します。ここでの、mynameは、パスワードを知っている管理者アクセス権を持つユーザー名です。Authorレベル以上のユーザー名も、管理者アクセス権を持つユーザー名の代わりに使用できます。

4. configuration.phpを保存し、サイトにアップロードし直します。パーミッションは644のままでかまいません。

このユーザーは一時的なsuper administratorになります。

5. バックエンドにログインし、パスワードを持っていない管理者ユーザーのパスワードを変更するか、新しいsuper adminユーザーを作成します。新しいユーザーを作成した場合は、状況に応じて古いユーザーをブロックまたは削除することをお勧めします。

6. 終わったら、アラートボックスの"Click here to try to do it automatically"のリンクを利用して、configuration.phpに追加した行を削除します。上手くいかなかったら、テキストエディタで編集して、アップロードし直してください。

FTPプログラムでconfiguration.phpファイルのパーミッションを確認してください、444のはずです。手動で追加したラインを削除した場合は、444に変更してください。

自分のパスワードを知っているユーザーがいなくてフロントエンド登録を利用できない場合は、このドキュメントで後述するようにデータベースを変更する必要があります。


方法2. 直接データベースを編集する

上記の方法が上手くいかない場合、他に2つの選択肢がありますが、どちらもMySQLデータベースを直接操作する必要があります。

データベースの中のパスワードを変更する

管理ユーザーがまだ定義されている場合、最も簡単なオプションはデータベース内のパスワードを既知の値に変更することです。 これにはphpMyAdminまたは他のクライアントを使ってMySQLデータベースにアクセスできることが必要です。

Stop hand nuvola.svg.png
アクセスを回復したら、必ずパスワードを変更してください。

この方法は、パスワードを次の単語に直接変更する方法です。 - "secret"


  1. phpMyAdminで左のリストからJoomla!で移用しているデータベースを選択します。画面の左にデータベーステーブルが表示されます。
  2. テーブルのリストから"_users"を含むテーブルを探しクリックします。(注:インストール時に指定したプレフィックスに"_users"が続いているテーブルを探します)
  3. 上のツールバーの"Browse"ボタンをクリックします。これにより、このサイトに設定されているすべてのユーザーが表示されます。
  4. パスワードを変更するユーザーを探し、その行のEditアイコンを押します。
  5. passwordフィールドを編集します。次の行の値をコピーします。
    d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199
    
    passwordフィールドにペーストし、Goボタンを押します。phpMyAdminに"Affected rows: 1"のメッセージが表示されます。これで、パスワードは"secret"に変更されました。
  6. このユーザーとパスワードでログインし、安全のためにパスワードを変更してください。ユーザーマネジャーを利用して、全てのユーザーが合法か確認してください。ハッキングされている場合は、サイト上でのパスワードのすべてを変更することもできます。

新しいSuper Administratorユーザーを追加する

パスワードの変更が上手くいかなかったり、Super Administratorグループのメンバーで無い場合は、この方法で新しいユーザーを作成します。

  1. phpMyAdminで左のリストからJoomla!で移用しているデータベースを選択します。画面の左にデータベーステーブルが表示されます。
  2. 選択したデータベースのSQLクエリを動かすために、ツールバーの"SQL"ボタンを押します。"Run SQL query/queries on database <your database>"と呼ばれるフィールドが表示されます。
  3. このフィールドの全ての文字を消去し、下のクエリの内容をコピー&ペースとして、Goボタンを押します。クエリを実行して、新しいAdministratorユーザーをテーブルに追加します。
  4. 別のadministratorアカウントを追加するには、以下のSQLクエリを使用してください。


Stop hand nuvola.svg.png
プレフィックスをdbのテーブルと一致させてください!

以下のコードはテーブルプレフィックスとして、jos31_を使用しています。Joomla!をインストールしたときのはランダムかあなたが指定したものです。以下のコードにあるすべてのjos31_を、インストールで使用されているプレフィックスに変更する必要があります。


Joomlaで使用するSQLコード Joomla 2.5 Joomla 3.1

INSERT INTO `jos31_users`
   (`name`, `username`, `password`, `params`, `registerDate`, `lastvisitDate`, `lastResetTime`)
VALUES ('Administrator2', 'admin2',
    'd2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199', '', NOW(), NOW(), NOW());
INSERT INTO `jos31_user_usergroup_map` (`user_id`,`group_id`)
VALUES (LAST_INSERT_ID(),'8');

ここまでできたら、Joomla!のバックエンドにユーザー名"admin2"とパスワード"secret"でログインできます。ログインしたら、ユーザーマネージャーでパスワードを安全なものに変更し、有効なEメールアドレスをアカウントに追加してください。あなたが"ハッキング"されている可能性がある場合は、すべてのユーザー、特にSuper Administratorグループのメンバーが正当であることを確認してください。

Stop hand nuvola.svg.png
Warning!

警告:このパスワードはこのページで公開され誰もが知っています。回復のためにだけ使用してください。ログイン後にパスワードを安全なものに変更しないと、ハッキングされる可能性があります。必ずログイン後に安全なパスワードに変更してください。


ここまででは例としてパスワードを"secret"に変更しました。他の二つの有効な値を以下に示します。

- password = "this is the MD5 and salted hashed password"
------------------------------------------------------
- admin  = 433903e0a9d6a712e00251e44d29bf87:UJ0b9J5fufL3FKfCc0TLsYJBh2PFULvT
- secret = d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199
- OU812  = 5e3128b27a2c1f8eb53689f511c4ca9e:J584KAEv9d8VKwRGhb8ve7GdKoG7isMm