closuresmongodb与auth启用

我在本地的Windows机器上设置了mongodb。 我按照mongo文档中的说明设置了auth。 我使用auth标志closures并重新启动服务器。 我使用“使用pipe理员”切换到pipe理数据库,然后使用db.auth。 它使我login,但是当我尝试使用shutdown命令(db.shutdownServer)时,我被告知未经授权。 如何closures服务器(除了closurescmd提示符)

我不明白在你的问题中使用“db.auth”的东西,但是一般来说,你将需要以“clusterAdmin”角色的用户身份登录到Mongo http://docs.mongodb.org/手动/参考/用户权限/#clusterAdmin 。 这在我的系统上工作,但我有一个LaunchDaemon运行,立即重新启动它,但问题是用户“rkuhar”可以从mongo shell内发出db.shutdownserver()命令,因为他的system.user记录在管理员数据库包含“clusterAdmin”角色。

 bobk-mbp:DM_server bobk$ mongo -p -u rkuhar localhost:27018/admin MongoDB shell version: 2.4.6 Enter password: connecting to: localhost:27018/admin dmReplSet:SECONDARY> db.shutdownserver(); Thu Dec 19 14:48:44.358 DBClientCursor::init call() failed server should be down... Thu Dec 19 14:48:44.363 trying reconnect to localhost:27018 Thu Dec 19 14:48:44.365 reconnect localhost:27018 failed couldn't connect to server localhost:27018 > 

这是我的用户“rkuhar”在管理数据库中的样子。

 bobk-mbp:DM_server bobk$ mongo -p -u userAdmin localhost/admin MongoDB shell version: 2.4.6 Enter password: connecting to: localhost/admin > db.system.users.find( { user : 'rkuhar' } ).pretty(); { "_id" : ObjectId("526061a45cf44cef5b2ef011"), "pwd" : "097df10ea69d71d986fe5e94dbad77b1", "roles" : [ "readWriteAnyDatabase", "dbAdminAnyDatabase", "clusterAdmin" ], "user" : "rkuhar" } >