用户管理:
在mongodb中,有一个admin数据库, 牵涉到服务器配置层面的操作,需要先切换到admin数据。即use admin , 相当于进入超级用户管理模式。mongo的用户是以数据库为单位来建立的, 每个数据库有自己的管理员。我们在设置用户时,需要先在admin数据库下建立管理员---这个管理员登陆后,相当于超级管理员.
添加用户:
注意:添加用户后,我们再次退出并登陆,发现依然可以直接读数据库。原因: mongodb服务器启动时, 默认不是需要认证的.要让用户生效,需要启动服务器时,就指定 --auth 选项.这样,操作时就需要认证了.
Mongodb 用户验证登陆:
重新启动带访问控制的 Mongodb
现在有两种方式进行用户身份的验证
第一种 (类似 MySql)客户端连接时,指定用户名,密码,db名称
mongo --port 27017 -u"adminUser"-p"adminPass"--authenticationDatabase"admin"
第二种 客户端连接后,再进行验证
内建角色:
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
网友评论