Mongodb--用户/权限

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数据库中可用。超级账号,超级权限

 

上一篇:Web开发工程师转型机器学习的实战经验


下一篇:记录docker安装的mongodb远程连接