用户权限怎么添加

在集群中如何添加用户并设置其权限呢? 大家都知道配置了集群环境,数据库链接串中的地址是是指向mongos。 mongos实例本身不存储数据。但是有其自己独立的用户体系。 也就是说如果在mongos中配置了用户, 是无法单独登录其分片节点的。

所以建议每一个分片都添加用户,最后在mongos上再添加针对集群的用户权限。这样做的目的是: 如果登录集群直接使用mongos的用户体系即可。不用考虑每个分片上的用户。 就可以访问数据等操作。 如果需要设置某个分片的某个设置。例如:开启分片的

记录满日志操作。这个时候必须登录到分片的主节点去设置。无法通过链接mongos去操作具体分片的设置。 如果你只设置了mongos用户。没有设置分片的用户。此时。只能重新停止服务重新建立用户。给自己带来很多麻烦。

 

上面可能说的比较晦涩,大家不易理解。其实意思就是: 在mongodb的集群环境中程序链接集群是通过mongos节点。 所以需要在mongos上设置用户和权限。 如果需要登录具体的分片服务器。需要使用分片中的用户体系。 这两个用户体系是独立的。

如果不设置用户验证。那就无所谓了。

 

下面列出创建用户和权限的命令

db.createUser(

{ user: "administrator",
  pwd: "13579@$^*)",
  customData: { "admin":"administrator" },
  roles: [
    { role: "dbOwner", db: "admin" }
  ]
}

 

把用户创建在了admin数据库中。角色:dbOwner。 customData : 数据描述。

针对所有数据库的

其他角色:

root:全部权限,相当于下面四个的组合。权限最大。

readAnyDatabase: 针对所有数据库只读

readWriteAnyDatabase:针对所有数据库读写

userAdminAnyDatabase:针对所有数据库的用户管理

dbAdminAnyDatabase:针对所有数据库的管理权限

 

posted @ 2015-09-28 15:30  Mountains  阅读(1266)  评论(0编辑  收藏  举报