web-dev-qa-db-ja.com

データベースに直接新しいユーザーを追加する

Drupalサイトにファイルを与えられたので、新しいテーマを作成できます。ただし、Drupal管理ユーザーは与えられていません/ password日付で、管理領域にサインインできません。データベースに直接、または他の方法で新しいユーザーを作成する方法はありますか?

13
Jane

Usersテーブルに行を追加して、新しいユーザーを作成できます。パスワードフィールドには、MD5ハッシュパスワードが含まれている必要があります。オンラインのMD5ジェネレーターを使用できます。PHPMyAdminを使用している場合は、プレーンパスワードを入力するテキストボックスの横にあるMD5関数を選択します。新しく作成したユーザーのユーザーID(uid)をメモします。その後、役割テーブルで十分な権限を持つ役割を見つける必要があります。ロールID(rid)を見つけ、uidsとridをusers_rolesテーブルの新しい行に入力します。

管理者アクセス権を付与する役割がない場合、クライアントはユーザー1ですべてを実行するため、少し汚れたトリックを実行する必要があります。ユーザー1のパスワードハッシュをどこかに保存し、ユーザー1の新しいパスワードを一時的に追加します。次に、ユーザー1でログインし、自分用の新しいアカウント、十分なアクセス許可を持つ新しい役割を作成し、自分をその役割に追加します。その後、データベースでユーザー1を編集し、パスワードを復元します。私は admin role を推奨して、ロールに常にすべてのアクセス許可を持たせることができます。

10

もっと簡単な方法があります。

  1. DBに移動し、ID 1のユーザーのメールアドレスフィールドを変更して、メールアドレスに設定します。
  2. http://mysite/userにアクセスして、パスワード再設定リンクをクリックします。
  3. メールアドレスを入力すると、パスワード再設定リンクが表示されます。

もちろん、これはあなたの開発システムがdrupalでメールをボックスから送信することを許可していることを前提としています。これはほとんどのLinuxおよびosxボックスに当てはまりますが、Windowsには当てはまりません。

13
BetaRide

また、ユーザーを作成して Drush でロールを割り当てたり、既存のユーザーのパスワードを変更したりすることもできます。

Drushは、Drupalのコマンドラインシェルおよびスクリプトインターフェイスです。Drupalは、コマンドプロンプトでハッキングして作業時間を費やす私たちの生活を楽にするように設計された真のスイスアーミーナイフです。

9
mpdonadio

データベースにアクセスできる場合は、次のクエリを実行します

UPDATE users 
SET name='admin', 
pass='$S$Drl0vgZ9yuU9uc4JyaTMHxMPriC7q/PsOUOx52fCrVQSTpI/Tu4x',
status=1 
WHERE uid = 1;

ログインの詳細は次のとおりです。

ユーザー名=admin

パスワード=drupal


ここで参照:

https://knackforge.com/blog/sivaji/different-ways-reset-drupal-admin-password

5
Craig Wayne
$user = array();
$user['status'] = 1; //for active user
$user['mail'] = '[email protected]';
//profile field $user['profile_field_fname'] = 'Vikrant';
$user_account = array();
if($user_uid = module_name_get_uid_by_email($user['mail'])) { //It will use for update.
   $user_account = user_load(array(uid => $user_uid));
}

//save or update user information.
user_save($user_account, $user);

//Check existing record by email.
function module_name_get_uid_by_email($email){
   $query = db_query("SELECT uid FROM {users} WHERE mail = '%s'",$email);
   $result = db_fetch_object($query);
   return $result->uid;
}

上記のコードを試してください。

2
Satya

drushを使用する場合は、drush upwd [user] --password="[newpassword]"を使用して、指定した名前のユーザーのパスワードを(再)設定できます。 (upwduser-passwordの短いコマンドバージョンです)

Drushの例:drush user-password someuser --password="correct horse battery staple"は、ユーザー名「someuser」に指定されたパスワードを設定します。

2
baikho

データベースにアクセスし、古い管理者パスワードを保存し、管理者パスワードをリセットしてからログインし、新しいユーザーを作成してから、管理者パスワードをリセットして、開始前の状態に戻すことができます。

Drushにアクセスできる場合は、次のようにすることができます。

cd <drupal root directory>
php scripts/password-hash.sh 'drupal'

次に、上記で生成されたMD5ハッシュパスワードを使用します。

drush sql-cli
update users set name='admin', pass='pasted_big_hash_from_above' where uid=1;
quit

これでうまくいくはずです。

ソース

1
EddieN120