MongoDB权限管理

本系列文章学习来源是技术胖的MogoDB系列

  安装好MongoDB时,它为我们默认开了一个最高管理权限方便我们管理数据库,我们可以用mongo链接数据库,就是这个原因。但在实际开发中考虑到安全性问题,并一般不能使用这个用户,要对MongoDB的用户进行管理。

创建用户
  创建用户可以用db.createUser方法来完成。

db.createUser({
    user:"zyb",
    pwd:"123456",
    customData:{
        name:'zyb',
        email:'[email protected]',
        age:23,
    },
    roles:['read']
})

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

db.createUser({
    user:"zyb",
    pwd:"123456",
    customData:{
        name:'zyb',
        email:'[email protected]',
        age:23,
    },
    roles:[
        {
            role:"readWrite",
            db:"user"
        },
        'read'
    ]
})

查找用户信息

db.system.users.find()

删除用户

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

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

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

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

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

mongod --auth

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

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

mongom  -u zyb -p 123456 127.0.0.1:27017/admin

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

你可能感兴趣的:(MongoDB权限管理)