[redmine] パスワードを忘れたのでDB直接編集で再作成する
問題
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;