MongoDB
まずはインストールしましょう。
認証ユーザの追加
db.addUser()
はdeprecatedです。ダメです。db.createUser()
を使いましょう。role
とかdb
とかは適切なものを。
> use admin > db.createUser( { user: "username", pwd: "password", roles: [{ role: "userAdminAnyDatabase", db: "admin"}] } ) Successfully added user: { "user" : "username", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }
設定ファイルを書き換える
/etc/mongodb.conf
のauth
がコメントアウトされていますので、コメントを外してtrue
にしましょう。そうしたら再起動です。
auth = true
認証の設定が有効かどうかを確認する
認証しないでshow collections
するとエラーが返ってくれば設定はうまくいってます。
$ mongo MongoDB shell version: 2.6.10 connecting to: test > use admin switched to db admin > show collections 2017-03-05T21:46:47.182+0900 error: { "$err" : "not authorized for query on admin.system.namespaces", "code" : 13 } at src/mongo/shell/query.js:131
認証してみる
では、認証してみて再度show collections
しましょう。
> db.auth( "username", "password" ) 1 > show collections; system.indexes system.users system.version
無事認証できました。