Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What is going on with this article?
@money_pino

Drupal7で管理者のパスワードを忘れた時にすること

More than 3 years have passed since last update.

Drupal7で開発中、万が一管理者(サイト構築時に作成したアカウント)のパスワードを忘れてしまった時の方法を記述します。

Drupalのusersテーブルについて

Drupal7のユーザーテーブルは以下のようになっている

mysql> desc users;

Field Type Null Key Default Extra
uid int(10) unsigned NO PRI 0
name varchar(60) NO UNI
pass varchar(128) NO
mail varchar(254) YES MUL
theme varchar(255) NO
signature varchar(255) NO
signature_format varchar(255) YES NULL
created int(11) NO MUL 0
access int(11) NO MUL 0
login int(11) NO 0
status tinyint(4) NO 0
timezone varchar(32) YES NULL
language varchar(12) NO
picture int(11) NO MUL 0
init varchar(254) YES
data longblob YES NULL

パスワードを忘れてしまって変更をしたい場合は、usersテーブルのpassフィールドの値を変更すればパスワードを変更をすることができる。
ちなみに管理者(サイト構築時に作成したアカウント)のuidは1である。

パスワード変更のための文字列を用意する

passフィールドに入る値はハッシュ化された値が入るためパスワードにしたい文字列のハッシュを用意します.Drupal7にはハッシュを作るスクリプトが以下にあるでこれを使う。

./scripts/password-hash.sh abcdefg

password: abcdefg hash: $S$DOy6K2AlgtD8pzi0Bdc8pHej5F12fHMmsLJG5mim9aYdq4FLEqfo

パスワードを変更する

tableに先ほど作成した。hashの値を挿入する

UPDATE users SET pass ='$S$DOy6K2AlgtD8pzi0Bdc8pHej5F12fHMmsLJG5mim9aYdq4FLEqfo' WHERE uid = 1;

drushが入っていれば以下のようにコマンドを叩くことによって変更することもできるらしい。(こちらは試していません。)
drush upwd --password="abcdefg" "管理者(サイト構築時に作成したアカウント)"

補足:パスワードロックがかかってしまった場合

drupalでは標準で連続5回同じユーザーのパスワードを間違えるとそのユーザーで一定期間ログインできなくなっている。

これを解消にするにはfooldテーブルの任意の値を消去すれば可能
desc flood;

Field Type Null Key Default Extra
fid int(11) NO PRI NULL auto_increment
event varchar(64) NO MUL
identifier varchar(128) NO
timestamp int(11) NO 0
expiration int(11) NO MUL 0

ログイン失敗時にはeventフィールドの値failed_login_attempt_ipとfailed_login_attempt_userがセットで作成されるためこの自分のアクセスに対応するこのセットを消去することによって一定期間待つ必要は無くなります。

参考にしたページ

https://www.drupal.org/node/1023428
https://www.drupal.org/node/44164

0
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
0
Help us understand the problem. What is going on with this article?