GROWIでパスワードを忘れた場合の対処

black 技術(ITエンジニア向け)

概要

GROWIを使用しており、自分が管理者にも関わらずアカウントのパスワードを忘れてしまって困った時の対処内容です。

GROWIを使用していて同じように管理者アカウントのパスワードを忘れてしまった方の役に立てばと思って共有します。

GROWI – 快適な情報共有を、全ての人へ

基本編

管理者にリセットしてもらう

基本はこちらの公式ドキュメントの通りで、別の管理者にパスワードをリセットしてもらいます。自分のパスワードを忘れてしまった場合、管理者と言えども自分自身でパスワードをリセットすることはできません。

ユーザー管理 | GROWI Docs

そもそもの話、きちんとGROWIを運用するのであれば管理者アカウントは二つ以上用意する(二人以上で管理する)のが良いでしょう。

応用編(非推奨)

DBを操作して一般ユーザを強制的に管理者にする(管理者にした後は基本編通り)

誰かしらの一般ユーザのパスワードがわかる場合、DBを操作して一般ユーザを強制的に管理者にすることができます。もちろん非推奨の方法なので最後の手段です。

まずはMongoDBに接続します。

$ mongo example.com:99999/xxxx -u YOURUSERNAME -p

以降はMongoDBの操作です。

adminがfalseとなっているのが一般ユーザなので、下記のサンプルではObjectIdが456789となっているのが一般ユーザということになります。

> db.users.find({},{admin:1})
{ "_id" : ObjectId("123456"), "admin" : true }
{ "_id" : ObjectId("456789"), "admin" : false }

IPPANUSERは一般ユーザ名に置き換えてください。adminをtrueに変更します。

> db.users.update({"name":"IPPANUSER"},{$set:{"admin":true}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

変更できているか確認します。

> db.users.find({},{admin:1})
{ "_id" : ObjectId("123456"), "admin" : true }
{ "_id" : ObjectId("456789"), "admin" : true }

ここまでできたら後は一般ユーザ(この時点では管理者)にパスワードをリセットしてもらいます。

無事にリセットできたら権限を元に戻しましょう。もちろんパスワードをリセットした管理者で管理画面にログインしてGUI操作で戻すこともできますが、下記はMongoDBの操作でfalseに戻すサンプルです。

> db.users.update({"name":"IPPANUSER"},{$set:{"admin":false}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

もしGROWIの基盤としてHerokuを利用していて、そもそもMongoDBのユーザ・パスワードがわからない場合はHeroku CLIから確認できます。YOURAPPは自分のアプリ名に置き換えてください。見るべきはMONGODB_URIの行です。

$ heroku config -a YOURAPP
=== YOURAPP Config Vars
ADDITIONAL_PACKAGES: growi-plugin-lsx growi-plugin-pukiwiki-like-linker growi-plugin-attachment-refs react-images@1.0.0 react-motion
FILE_UPLOAD:         mongodb
MONGODB_URI:         mongodb://YOURUSERNAME:YOURPASSWORD@xxyyzz999999.mlab.com:99999/xxxxxx
NODE_ENV:            development
PASSWORD_SEED:       xxxxxxxxxxyyyyyyyyyyzzzzzzzzzz
SEARCHBOX_SSL_URL:   https://paas:xxxxxxxxxxyyyyyyyyyyzzzzzzzzzz@thorin-us-east-1.searchly.com
SEARCHBOX_URL:       https://paas:xxxxxxxxxxyyyyyyyyyyzzzzzzzzzz@thorin-us-east-1.searchly.com
SECRET_TOKEN:        xxxxxxxxxxyyyyyyyyyyzzzzzzzzzz

以上です。

GROWIの管理者の方はパスワードを忘れないように十分にご注意ください。

余談

ログイン画面から自分でパスワードをリセットできるようなアップデートがされたらいいですね。

コメント

タイトルとURLをコピーしました