本文列出最基本的添加用户、删除用户等操作。
配置和环境:
win10(本机)和linux(CentOs7)内网服务器各一台。 Mongodb3.07
一、添加用户
mongodb安装好后,默认是没有用户的。首先在不进行认证方式的情况下启动mongo
先说个重要的事儿,如果需要用客户端软件连接mongodb的话,需要修改认证版本,然后再添加用户:
1
2
3
4
5
6
| > use admin
switched to db admin
> var schema = db.system.version.findOne({"_id" : "authSchema"})
> schema.currentVersion = 3 3
> db.system.version.save(schema)
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
|
用户有很多种,列出常见几种的添加方式:
1
2
3
4
5
| > db.createUser({
user:"root",
pwd:"123456",
roles:["root"]
})
|
1
2
3
4
5
6
7
8
| > db.createUser({
user:"admin",
pwd:"123456",
roles:[{
role:"userAdminAnyDatabase",
db:"admin"
}]
})
|
1
| > db.createUser({user:"test",pwd:"123456",roles:[{role:"readWrite", db:"test"}]})
|
查看添加的用户情况:
1
2
| > use admin
> db.system.users.find();
|
1
2
| { "_id" : "admin.root", "user" : "root", "db" : "admin", "credentials" : { "MONGODB-CR" : "b00a366ac2810fb995d556ee159aa35e" }, "roles" : [ { "role" : "root", "db" : "admin" } ] }
...
|
二、开启权限认证
首先关闭mongo,
如果由于某些原因关不掉就kill掉。
然后带auth参数重新启动:
之后的操作就涉及到权限了,例如查询系统用户时,需要认证,查看库数据也需要认证。认证方式:
1
2
3
4
5
6
7
8
9
| > use admin
switch to db admin
> db.auth("admin", "123456");
1
...
> use test
swtich to db test
> db.auth("test", "123456");
1
|
认证成功就是1,否则返回0和对应出错信息。
如果开启了认证,记得用客户端操作时也要先进行认证,否则有些客户端不会返回任何信息。
|