用户的创建、删除与修改


创建用户

首先要进入我们的admin库中,进入方法是直接使用use admin 就可以。进入后可以使用show collections来查看数据库中的集合。默认是只有一个集合的(system.version)。
创建用户可以用db.createUser方法来完成

db.createUser({
    user:"panpan",
    pwd:"123456",
    customData:{
        name:'潘潘',
        email:'211695630@qq.com',
        age:18,
    },
    roles:['read']
})

当然我们还可以单独配置一个数据库的权限,比如我们现在要配置compay数据库的权限为读写:

db.createUser({
    user:"panpan",
    pwd:"123456",
    customData:{
        name:'潘潘',
        email:'211695630@qq.com',
        age:18,
    },
    roles:[
        {
            role:"readWrite",
            db:"company"
        },
        'read'
    ]
})

内置角色:
数据库用户角色:read、readWrite;
数据库管理角色:dbAdmin、dbOwner、userAdmin;
集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManage;
备份恢复角色:backup、restore;
所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超级用户角色:root
内部角色:__system

查找用户信息

我们直接可以使用查找的方法,查找用户信息。命令很简单:

db.system.users.find()

删除用户

删除用户也是非常简单,直接用remove就可以删除这个用户的信息和权限。

db.system.users.remove({user:"panpan"})

建权

有时候我们要验证用户的用户名密码是否正确,就需要用到MongoDB提供的建权操作。也算是一种登录操作,不过MongoDB把这叫做建权。

db.auth("panpan","123456")

如果正确返回1,如果错误返回0。(Error:Authentication failed。)

启动建权

重启MongoDB服务器,然后设置必须使用建权登录。

mongod --auth

启动后,用户登录只能用用户名和密码进行登录,原来的mongo形式连接已经不起作用了。相应的用户权限也对应妥当。实际项目中我们启动服务器必须使用建权形式。

登录

如果在配置用户之后,用户想登录,可以使用mongo的形式,不过需要配置用户名密码:

mongo -u panpan -p 123456 127.0.0.1:27017/admin

这时候我们就可以用给我们的权限对数据库操作了。


文章作者: 技术潘
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 技术潘 !
  目录