首先,不使用
–auth
引數,啟動 mongodb:
mongodb-linux-i686-3.0.0/bin/mongod -f mongodb-linux-i686-3.0.0/mongodb.conf
此時你 show dbs 會看到只有乙個local資料庫,那個所謂的admin是不存在的。mongodb 沒有炒雞無敵使用者root,只有能管理使用者的使用者 useradminanydatabase。
開啟 mongo shell:
mongodb-linux-i686-3.0.0/bin/mongo
新增管理使用者:
use admindb.createuser(
]})
roles 中的 db 引數是必須的,不然會報錯:error: couldn』t add user: missing expected field 「db」。另外,有很多文章記錄的是使用 db.adduser(…) 方法,這個方法是舊版的,3.0中已經不存在,詳見:切換到admin下,檢視剛才建立的使用者:
show users或db.system.users.find()
}, "roles" : [ ] }
怎麼關閉 mongodb?千萬不要 kill -9 pid,可以 kill -2 pid 或 db.shutdownserver()下面使用 –auth 參 數,重新啟動 mongodb:
mongodb-linux-i686-3.0.0/bin/mongod --auth -f mongodb-linux-i686-3.0.0/mongodb.conf
再次開啟 mongo shell:
mongodb-linux-i686-3.0.0/bin/mongouse admin
db.auth("buru","12345678") #認證,返回1表示成功
或mongodb-linux-i686-3.0.0/bin/mongo -u buru -p 12345678 --authenticationdatabase admin
此時
show collections
報錯
2015-03-17t10:15:56.011+0800 e query error: listcollections failed: ","code" : 13
} at error ()
at db._getcollectioninfoscommand (src/mongo/shell/db.js:643:15)
at db.getcollectioninfos (src/mongo/shell/db.js:655:20)
at db.getcollectionnames (src/mongo/shell/db.js:666:17)
at shellhelper.show (src/mongo/shell/utils.js:625:12)
at shellhelper (src/mongo/shell/utils.js:524:36)
at (shellhelp2):1:1 at src/mongo/shell/db.js:643
因為,使用者buru只有使用者管理的許可權。
下面建立使用者,使用者都跟著庫走,建立的使用者都是
use tianhedb.createuser(
,
]})
檢視剛剛建立的使用者。
show users,
]}
檢視整個mongodb全部的使用者:
use admindb.system.users.find()
}, "roles" : [ ] }
}, "roles" : [ , ] }
建立完畢,驗證一下:
use burushow collections
2015-03-17t10:30:06.461+0800 e query error: listcollections failed: ",
"code" : 13
} at error ()
at db._getcollectioninfoscommand (src/mongo/shell/db.js:643:15)
at db.getcollectioninfos (src/mongo/shell/db.js:655:20)
at db.getcollectionnames (src/mongo/shell/db.js:666:17)
at shellhelper.show (src/mongo/shell/utils.js:625:12)
at shellhelper (src/mongo/shell/utils.js:524:36)
at (shellhelp2):1:1 at src/mongo/shell/db.js:643
`
顯然沒許可權,先auth:
db.auth("bao","12345678")1show collections
news
system.indexes
wahaha
mongoDB 3 0 安全許可權訪問
mongodb 3.0 訪問控制改了很多,需要你老老實實的去看文件去驗證,谷歌出來的多半就是錯誤的。還需要注意這個引數authenticationmechanisms。為了兼用2.6版本,我直接指定下面的引數 setparameter authenticationmechanisms mongodb...
mongoDB 3 0 安全許可權訪問控制
首先,不使用 auth 引數,啟動 mongodb mongodb linux i686 3.0.0 bin mongod f mongodb linux i686 3.0.0 mongodb.conf 此時你 show dbs 會看到只有乙個local資料庫,那個所謂的admin是不存在的。mon...
MongoDB 3 0 安全許可權訪問控制
1 啟動沒有訪問控制的mongodb服務 sudo service mongod start 2 連線到例項 mongo port 27017 指定額外的命令列選項來連線mongo shell到部署mongodb伺服器,如 host 3 建立的使用者管理員 use admin db.createus...