mongodb分为管理员用户和普通用户,并且还有个验证库,建立用户时use到的库(验证库),信息就存储在admin数据库下。
在使用用户时,要加上验证库才能登录,对于管理员用户,必须在admin下创建,验证用户返回值为1即成功。
1、创建管理员用户
语法: user:用户名 pwd:密码 roles: role:角色名 db:作用对象 常用role:root、readWrite、read
> use admin switched to db admin > db.createUser({ ... user:"root", ... pwd:"yy123456", ... roles:[{role:"root",db:"admin"}] ... } ... ) Successfully added user: { "user" : "root", "roles" : [ { "role" : "root", "db" : "admin" } ] } > db.auth('root','yy123456') 1 >
2、登录
#本地登录 mongo -uroot -pyy123456 admin #远程登录 mongo -uroot -pyy123456 ip/admin
3、删除用户
以root用户登录
> use test > db.dropUser("test")
4、用户权限
权限 | 说明 |
---|---|
Read | 允许用户读取指定数据库 |
readWrite | 允许用户读写指定数据库 |
dbAdmin | 允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile |
userAdmin | 允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户 |
clusterAdmin | 只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。 |
readAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的读权限 |
readWriteAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的读写权限 |
userAdminAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的userAdmin权限 |
dbAdminAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。 |
root | 只在admin数据库中可用。超级账号,超级权限 |