一、用户管理先决条件
- 角色分类
- root
- dbAdmin
- readWrite
- read
验证库:建立用户时 use 到的库,在使用用户时,要加上验证库才能登陆
开启
authorization
认证前,要先创建好root
超级用户
- 如果先开启
authorization
认证,那么在单机模式下就无法创建root
超级用户啦
security:
authorization: enabled
二、创建超级用户
-- 创建前要 use admin 这个验证库,否则无法登陆
$ use admin
$ db.createUser({user: "root", pwd: "123456", roles: [ { role: "root", db: "admin" } ]})
或
$ use admin
$ db.createUser(
{
user: "root",
pwd: "123456",
roles: [ { role: "root", db: "admin" } ]
})
三、创建库管理员
-- 创建用户之前先 use 到准备创建的库操作用户( 只能操作 dbawsp 库 )
$ use dbawsp
$ db.createUser(
{
user: "dbawsp_admin",
pwd: "123456",
roles: [ { role: "dbAdmin", db: "dbawsp" } ]
})
四、创建读写帐号
-- 创建普通用户也要添加验证库( 单库权限 )
$ use dbawsp
$ db.createUser(
{
user: "dbawsp_rw",
pwd: "123456",
roles: [ { role: "readWrite", db: "dbawsp" } ]
} )
-- 创建普通用户也要添加验证库( 多库权限 )
$ use dbawsp
$ db.createUser(
{
user: "dbawsp_rw",
pwd: "123456",
roles: [ { role: "readWrite", db: "dbawsp" }, { role: 'read', db: 'admin' } ]
} )
五、验证查询帐号
-- 查询用户,当前实例所有用户信息
$ use admin
$ db.system.users.find().pretty()
-- 验证用户是否可用( 需要 use 到正确的验证库,返回 1 为正确的验证库与密码 )
$ use admin
$ db.auth('root','123456')
1
六、验证库连接
-- 超级管理员( 指定 root 用户对应验证库库名 地址-端口-验证库 进行连接 )
$ mongo --username root --password 123456 10.25.21.11:27017/admin
-- 普通用户( 指定 dbawsp_rw 用户对应验证库库名 指定 地址-端口-验证库 进行连接 )
$ mongo --username dbawsp_rw --password 123456 10.25.21.11:27017/dbawsp
七、删除帐号
-- 删除用户( 删除用户时必须要进入到这个用户的验证库删除 )
$ use dbawsp
$ db.dropUser('dbawsp_admin')
true