您的位置:首页 > 数据库 > Mongodb

MongoDB -- 3.0用户创建

2016-04-26 16:45 573 查看
3.0版本以前的创建与3.0之后有区别,这里不做详解,大家百度吧!!!

3.0版本以后格式:

db.createUser(
{
user: "admin",
pwd: "admin",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)


先来说说roles,这里我们使用的是内置角色:

1. 数据库用户角色:read、readWrite;
2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 备份恢复角色:backup、restore;
5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超级用户角色:root
// 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
7. 内部角色:__system


内置角色含义

Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限


文档参考:

http://blog.csdn.net/chen88358323/article/details/50206651

http://docs.mongoing.com/manual-zh/reference/method/db.createUser.html#db.createUser

下面开始创建用户

默认情况下MongoDB不开启用户验证规则,如果要开启,需要在mongo.conf增加如下配置

#开启用户认证
auth=true


步骤一

启动服务,首先我们要在admin数据库下创建一个管理用户。

db.createUser(
{
user: "admin",
pwd: "admin",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)


角色选择:userAdminAnyDatabase(只在admin数据库中可用,赋予用户所有数据库的userAdmin权限)

步骤二

之后在admin数据库下就可以使用:(注意:进行此操作必须完成步骤一)

在admin数据库下执行:

db.auth('admin','admin')


创建一个student库的读写权限的用用户:

use student


db.createUser(
{
user: "gaopeng",
pwd: "gaopeng",
roles: [ { role: "readWrite", db: "school" } ]
}
)


注意:

只能在帐号创建库下认证,再去其他库进行操作。(这里一定要注意)

例如,在admin数据库中创建了student数据库的认证用户,那么只能在admin数据库去进行认证,然后在到student数据库中进行操作,否则会认证失败。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: