概要
GROWIを使用しており、自分が管理者にも関わらずアカウントのパスワードを忘れてしまって困った時の対処内容です。
GROWIを使用していて同じように管理者アカウントのパスワードを忘れてしまった方の役に立てばと思って共有します。
基本編
管理者にリセットしてもらう
基本はこちらの公式ドキュメントの通りで、別の管理者にパスワードをリセットしてもらいます。自分のパスワードを忘れてしまった場合、管理者と言えども自分自身でパスワードをリセットすることはできません。
そもそもの話、きちんと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の管理者の方はパスワードを忘れないように十分にご注意ください。
余談
ログイン画面から自分でパスワードをリセットできるようなアップデートがされたらいいですね。
コメント