SOFTELメモ Developer's blog

[redmine] パスワードを忘れたのでDB直接編集で再作成する

2024/03/20 linux, MySQL, software

問題

redmineにログインしたいが、パスワードがわからない。

DBにハッシュがありますが、書き換えればログインできますか?

答え

1.salt は何でもよいので決める。

例: aaaaa

2.パスワードのsha1ハッシュを用意。

例: sha1('admin') = d033e22ae348aeb5660fc2140aec35850c4da997

3.hashed_password に入れる値は、sha1(1+2) 。

例:

> select sha1(concat('aaaaa', sha1('admin')));
+------------------------------------------+
| sha1(concat('aaaaa', sha1('admin')))     |
+------------------------------------------+
| dc6faa0c7b5b2897d2d38b0e97ea1db30b7abf89 |
+------------------------------------------+
1 row in set (0.002 sec)

4.update文で書き換え。

まとめ

SQLで書くとこうなる(MySQL)。

update
    users
set
    salt = 'ソルト',
    hashed_password = sha1(concat('ソルト', sha1('新しいパスワード')))
where
    id = 対象のユーザー;

LDAP認証しているときは、以下も入れる。

auth_source_id = null

ある人のパスワードをadminにする例。

update
    users
set
    salt = 'abcdefg',
    hashed_password = sha1(concat('abcdefg', sha1('admin'))),
    auth_source_id = null
where
    id = xxx;

関連するメモ

コメント