MongoDB笔记2:开启用户名密码验证

时间:2024-03-19 19:03:39

MongoDB开启用户名密码验证

mongodb将所有的用户信息存在admin数据库的集合system.users中,这些信息主要包括用户名、密码和数据库信息。mongodb默认不启用授权认证,只要能连接到该服务器,就可连接到mongod。若要启用安全认证,Windows下需要更改注册表,Linux下则要更改配置文件。这里只介绍Windows下的操作。

 

一、创建管理员用户

1 用show dbs查看数据库,发现找不到admin数据库

MongoDB笔记2:开启用户名密码验证

 

2 创建用户admin

db.createUser(

 {

  "user":"admin",

  "pwd":"admin",

  roles:[{role:"userAdminAnyDatabase",db:"admin"}]

 }

)

 

MongoDB笔记2:开启用户名密码验证

上图显示成功创建admin用户。

 

3 再查询所有数据库,可以看到admin数据库被显示出来

MongoDB笔记2:开启用户名密码验证

 

4 查询集合和集合中的数据

MongoDB笔记2:开启用户名密码验证

 

5 开启登录验证

进入系统注册表,找到[HKEY_LOCAL_MACHINE-->SYSTEM-->CurrentControlSet-->Services-->MongoDB]在右边的健-值列表中找到 “ImagePath”

MongoDB笔记2:开启用户名密码验证

 

在ImagePath对应的值中添加--auth,即

"D:\Program Files\MongoDB\Server\3.2\bin\mongod.exe" --dbpath=e:\db "--logpath=D:\Program Files\MongoDB\Server\3.2\logs\mongodb.log" --auth --service

 

改完之后,重启MongoDB服务,

MongoDB笔记2:开启用户名密码验证

 

6 用非验证方式登录Mongodb,并查询集合,报没有权限的错误

MongoDB笔记2:开启用户名密码验证

 

7 使用用户名密码来登录

MongoDB笔记2:开启用户名密码验证

返回值为1,说明登录成功。

 

8 再查询集合,可以正常显示结果

MongoDB笔记2:开启用户名密码验证

 

二、创建普通用户

> use test

> db.createUser(

  {

    user: "test1",

    pwd: "test1",

    roles: [ { role: "readWrite", db: "test" } ]

  }

)

 

MongoDB笔记2:开启用户名密码验证

上图显示用户创建成功

 

使用用户名和密码登录,并查询集合

MongoDB笔记2:开启用户名密码验证

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29485627/viewspace-1973513/,如需转载,请注明出处,否则将追究法律责任。