Mongo身份验证问题

ElC*_*apo 3 permissions mongodb

您好我有一个带有Bitnami MEAN堆栈的新AWS服务器.

我是服务器上的root用户,我在命令行上启动了mongo.

当我尝试做任何事情(除了"使用测试"或"使用管理员"),例如"show dbs"

我收到以下错误:

显示dbs

 listDatabases failed:{ "ok" : 0, "errmsg" : "unauthorized" } at src/mongo/shell/mongo.js:46
Run Code Online (Sandbox Code Playgroud)

我知道我在权限方面做错了,我只是不知道它是什么.

当我看到mongodb.config时,一切看起来都不错,但我明白了:

  # Turn on/off security.  Off is currently the default
  #noauth = true
  auth = true
Run Code Online (Sandbox Code Playgroud)

另外,可能相关,当我尝试运行mongod时,我得到关于"/ data/db"不存在的错误,或者如果我创建目录,我得到"没有足够的空间问题"

感谢您的时间.

Nei*_*unn 5

mongod如果它已经在运行,你不应该再次运行,并且可能已经存在了.你也没有说你是如何尝试连接的,这可能是你的问题.

我建议阅读相关文档,其中解释了默认用户身份验证的内容以及如何连接:

$ mongo admin --username root --pasword YOURPASSWORD
Run Code Online (Sandbox Code Playgroud)

默认密码包含在文档页面中.还有关于为您的应用程序设置新用户的信息.

有关更多信息,请参阅MongoDB官方文档,其中包含许多示例:

http://docs.mongodb.org/manual/administration/security-access-control/


aru*_*b2w 5

您可以成功连接到数据库,但您没有管理员权限。

如果您知道管理员用户 ID 和密码,您可以通过以下方式进行身份验证

db.auth("user_name",'passwd');
Run Code Online (Sandbox Code Playgroud)