docker上に作成していたRedmine・・・。勉強がてら使っていたのだけど、通常ユーザーしか使ってなくて、管理者パスワード忘れてしまった。
不幸なことに、パスワードリセットのためのメールアドレスは設定していない。
幸いなことに、データーベースへのアクセスは出来る。
ちなみに、Redmineのバージョンは4.0.4.stableを使っている。
一般的な方法
redmineのFAQに書いている方法http://redmine.jp/faq/administration/reset-admin-password/
これが、安全そうだけど、docker上で動いているRedmineへのアクセスがめんどくさいな〜と思ってしまい。。
また、データーベースのアクセスができていることから、直に書き換えれば良いんじゃないかと思いはじめた。
データーベースを書き換える
先人が試したことを参考にhttp://cartolare.blogspot.com/2011/03/redmine.html
https://qiita.com/is0me/items/2e3add5dbaab7c63b775
パスワードは、ユーザー毎に持っているsaltキーとSHA1で暗号化したパスワードを連結し、更にSHA1で暗号化する。がポイント。
MariaDB [redmine]> select id,login,hashed_password,salt from users where id = '1';
+----+-------+------------------------------------------+------------+
| id | login | hashed_password | salt |
+----+-------+------------------------------------------+------------+
| 1 | admin | pppppppp | xxxxxxxxxx |
+----+-------+------------------------------------------+------------+
これのpppppppp部分を書き換える。とりあえずadminをSHA1でハッシュすると[d033e22ae348aeb5660fc2140aec35850c4da997]となる。
これにsalt(xxxxxxxxxx)を加えて[xxxxxxxxxxd033e22ae348aeb5660fc2140aec35850c4da997]としてSHA1でハッシュすると[78af0b552fabb064d785ec2c38f8b43c4fc40b57]となる。
これをpppppppp部分に書き込んでおく。
update users set hashed_password="78af0b552fabb064d785ec2c38f8b43c4fc40b57" where id='1';
これで、redmineのログイン画面からadmin/adminで入れた。その後ちゃんとパスワード変更を行った。めでたしめでたし。
それにしても、職場でプロジェクト管理・タスク管理を受け入れてもらうにはどうすれば良いんだろうか…
いつまでもエクセル管理じゃ、エクセル工数が半端ない。