mongo 2.4.6
CentOS 5.9 64bit
CentOS 5.9 64bit
■認証設定
とりあえず通常通りmongoを起動します
今回はtest1というDBに対して権限を追加します
なので他のDBに対しても操作したい場合はtest1にした処理を同様に他のDBにも実施する必要があります
「dbAdminAnyDatabase」はroles名です、指定できるrole名の一覧は以下を参照してください
http://docs.mongodb.org/manual/reference/user-privileges/
adminコレクションに対しても認証させたい場合は「use admin」を実施したあとで同様のaddUserを実施してください
よくわからないのですが、ユーザ追加のクエリは若干時間がかかります(と言っても数秒です)
mongod
今回はtest1というDBに対して権限を追加します
use test1 db.addUser({user:"guest",pwd:"hogehoge",roles:["dbAdminAnyDatabase","readWrite"]})test1というDBに対してのみ認証設定を実施するので他のDBに対しては操作することはできません
なので他のDBに対しても操作したい場合はtest1にした処理を同様に他のDBにも実施する必要があります
「dbAdminAnyDatabase」はroles名です、指定できるrole名の一覧は以下を参照してください
http://docs.mongodb.org/manual/reference/user-privileges/
adminコレクションに対しても認証させたい場合は「use admin」を実施したあとで同様のaddUserを実施してください
よくわからないのですが、ユーザ追加のクエリは若干時間がかかります(と言っても数秒です)
■認証ありでのmongod起動
一旦、mongodを停止します( kill or db.shutdownServer() )
認証モードでmongodを起動します
再度、mongoでログインして「show dbs」等を実行しようとすると以下のエラーになるかと思います
先ほど追加したユーザでmongoにログインしてみます
show dbs は他のDBに触ることになるのでエラーとなります
test1 配下のコレクションに関してはfindやsaveができます
ログインの方法はdb.auth("guest", "hogehoge")でも可能です
認証モードでmongodを起動します
mongod --authこれで認証が必要な状態でmongodが起動しました
再度、mongoでログインして「show dbs」等を実行しようとすると以下のエラーになるかと思います
Tue Nov 5 12:48:22.596 listDatabases failed:{ "ok" : 0, "errmsg" : "unauthorized" } at src/mongo/shell/mongo.js:46
先ほど追加したユーザでmongoにログインしてみます
mongo test1 -u guest -p hogehogeshow collections を実行するとコレクションの一覧を確認することができると思います
show dbs は他のDBに触ることになるのでエラーとなります
test1 配下のコレクションに関してはfindやsaveができます
ログインの方法はdb.auth("guest", "hogehoge")でも可能です
■参考サイト
0 件のコメント:
コメントを投稿