MongoDB开启用户名密码验证
mongodb将所有的用户信息存在admin数据库的集合system.users中,这些信息主要包括用户名、密码和数据库信息。mongodb默认不启用授权认证,只要能连接到该服务器,就可连接到mongod。若要启用安全认证,Windows下需要更改注册表,Linux下则要更改配置文件。这里只介绍Windows下的操作。
一、创建管理员用户
1 用show dbs查看数据库,发现找不到admin数据库
2 创建用户admin
db.createUser(
{
"user":"admin",
"pwd":"admin",
roles:[{role:"userAdminAnyDatabase",db:"admin"}]
}
)
上图显示成功创建admin用户。
3 再查询所有数据库,可以看到admin数据库被显示出来
4 查询集合和集合中的数据
5 开启登录验证
进入系统注册表,找到[HKEY_LOCAL_MACHINE-->SYSTEM-->CurrentControlSet-->Services-->MongoDB]在右边的健-值列表中找到 “ImagePath”
在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服务,
6 用非验证方式登录Mongodb,并查询集合,报没有权限的错误
7 使用用户名密码来登录
返回值为1,说明登录成功。
8 再查询集合,可以正常显示结果
二、创建普通用户
> use test
> db.createUser(
{
user: "test1",
pwd: "test1",
roles: [ { role: "readWrite", db: "test" } ]
}
)
上图显示用户创建成功
使用用户名和密码登录,并查询集合
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29485627/viewspace-1973513/,如需转载,请注明出处,否则将追究法律责任。