Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 如何防止匿名访问Mongo DB?_Mongodb_Security_Authentication_Nosql - Fatal编程技术网

Mongodb 如何防止匿名访问Mongo DB?

Mongodb 如何防止匿名访问Mongo DB?,mongodb,security,authentication,nosql,Mongodb,Security,Authentication,Nosql,在执行以下步骤后,我仍然无法阻止匿名访问Mongo DB 1-使用此命令创建管理员用户 mongod --port 27017 --logpath D:\Files\Sessions\log\mongo.log --dbpath D:\Files\Sessions\data\db mongod --port 27017 --logpath D:\Files\Sessions\log\mongo.log --dbpath D:\Files\Sessions\data\db --auth 2-

在执行以下步骤后,我仍然无法阻止匿名访问Mongo DB

1-使用此命令创建管理员用户

mongod --port 27017 --logpath D:\Files\Sessions\log\mongo.log --dbpath D:\Files\Sessions\data\db 
mongod --port 27017 --logpath D:\Files\Sessions\log\mongo.log --dbpath D:\Files\Sessions\data\db --auth
2-使用此配置创建mongod.conf文件

systemLog:
   destination: file
   path: "D:/Files/Sessions/log/mongo.log"
storage:
   dbPath: "D:/Files/Sessions/data/db"
net:
   bindIp: 127.0.0.1, localhost
   port: 27017
3-执行
mongod--config“D:\Files\Sessions\mongod.conf”

4-使用创建管理员用户

use admin
db.createUser(
  {
    user: "myUserAdmin",
    pwd: passwordPrompt(), // or cleartext password
    roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
  }
)
5-更新mongod.conf,并将此配置添加到

security:
   authorization: enabled
6-执行
mongod--config“D:\Files\Sessions\mongod.conf”

我还在两个步骤之间多次执行此命令

mongod --port 27017 --logpath D:\Files\Sessions\log\mongo.log --dbpath D:\Files\Sessions\data\db 
mongod --port 27017 --logpath D:\Files\Sessions\log\mongo.log --dbpath D:\Files\Sessions\data\db --auth
最后,我可以创建新的管理员用户并使用该用户进行身份验证,但仍然可以作为匿名用户进行身份验证,而无需凭据

以防万一=> mongo版本:4.2,windows 10


怎么了?

你说的“我也可以在没有凭证的情况下作为匿名用户进行身份验证”是什么意思。注意,即使使用身份验证,您也可以连接到Mongo数据库,而无需任何凭据,但不允许执行任何命令(除了
db.getMongo()
db.help()
db.version()
等内容)您是否在重新启动数据库之前关闭了它?当您运行mongod时,它会告诉您它正在使用的配置。验证是否在那里启用了身份验证。有已发布的启用身份验证的文档,请验证您是否正确执行了所有步骤。@WernfriedDomscheit yes。我关闭了它,但我不能用命令重新启动,我用服务应用程序手动重新启动了它。我在youtube上看到一个视频,那个家伙按这个步骤做了这个工作,但对我来说不工作“无法启动”不是一条有用的错误消息,错误是什么?您可以使用命令
db.serverCmdLineOpts()
command
db.runCommand({connectionStatus:1})
检查加载的配置