7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GitBucketのrootパスワードが分からなくなった時

Posted at

GitBucketはデータの保存先としてJava製のRDBであるH2データベースを使用しています。

GitBucketにログインするアカウントの情報もH2データベースで管理されているので、rootのパスワードが分からなくなった時などでも、データベースを直接操作することでパスワードをリセットすることができます。

先日そんなことがあったのでメモ。

GitBucketの停止

GitBucketが起動している間はH2データベースのファイルはロックされているため、まずGitBucketを停止します。

$ service gitbucket stop

H2データベースコンソールの起動

H2データベースに含まれているデータベースコンソールを起動します。
H2データベースのJARファイルはGitBucketのWARファイル中にあります。

$ java -cp 【gitbucket.warファイルを展開したディレクトリー】/WEB-INF/lib/h2-1.4.180.jar org.h2.tools.Shell -url jdbc:h2:【GitBucketのデータが保管されているディレクトリー】/data -user sa -password sa

パスワードのリセット

GitBucketのユーザー情報はACCOUNTテーブルで管理されており、パスワードはPASSWORDフィールドにSHA1ハッシュとして格納されています。新しいパスワードの文字列からSHA1ハッシュを生成し、PASSWORDフィールドを更新することでパスワードがリセットできます。

sql> UPDATE ACCOUNT SET PASSWORD='【SHA1ハッシュ】' WHERE USER_NAME='root';

GitBucketの再開

最後にGitBucketを再開するのを忘れずに。

$ service gitbucket start
7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?