Tagbangers Blog

BitbucketのUser Directoriesを設定中に誤ってロックアウトされてしまった時の対処法

JIRAユーザはBitbucketも使えるように!とかLDAP認証できるように!など便利なUser Directoriesですが、
設定を間違うとログインできなくなったり権限なくなったりとあまり笑えないので気をつけましょう。

ロックアウト例

下のようなUser Directoryの構成だとします。私は管理者ユーザです。

JIRAと連携していて、そのユーザの状態でUser DirectoryのOrderを下げてしまった。
その瞬間管理画面から強制ログアウト。。
慌ててログインし直してみたが、Stash Internal Directoryではadmin権限を持っていないユーザにしかなれない。
おめでとうございます、ロックアウトされました。

そんなうっかりさんのためにBitbucketは「リカバリユーザ」を用意しています。
これでログインすることで設定を元に戻すことができます。

ロックアウト対応

1 Bitbucket 停止

/etc/init.d/bitbucket stop

2 <Bitbucket install directory>/bin/setenv.sh にリカバリユーザ用のパスワードを追記

#
# Occasionally Atlassian Support may recommend that you set some specific JVM arguments.  You can use this variable
# below to do that.
#
JVM_SUPPORT_RECOMMENDED_ARGS=
↓
JVM_SUPPORT_RECOMMENDED_ARGS="-Datlassian.recovery.password=temporarypassword"

3 Bitbucket 起動

/etc/init.d/bitbucket start

4 recovery_admin / temporarypasswordでログイン

IDは「recovery_admin」で固定されてるようです。ログインするとこんな画面が表示されます。

5 設定内容をリカバリーする

今回はUser Directoryをごにょごにょしていたので元に戻します。

6 Bitbucket 停止·起動

無事自分のアカウントでログインしなおせました!
リカバリアカウント用のパスワードは設定が直ったらsetenv.shから外しておきましょう。


参考:https://confluence.atlassian.com/bitbucketserver/lockout-recovery-process-776640158.html