mongodb 增加用户认证

mongodb 的配置文件,修改 auth = true,添加认证后,程序也需要加入认证。
以下例子中的参数根据生产环境要求进行修改

先创建一个管理员账号
use admin
db.createUser({user:"admin", pwd:"admin", roles:[{role:"userAdminAnyDatabase", db:"admin"}]});
针对库,创建普通用户
use demo
db.createUser({user:"demo_user", pwd:"123456", roles:[{role:"readWrite", db:"demo"}]})

其他操作

    查看库下面所有用户
    use demo
    db.getUsers()
    使用admin用户修改普通用户密码
    use admin
    db.changeUserPassword("demo_user", "SOh3TbYhx8ypJPxmt1oOfL")
    删除库下面用户
    use demo
    db.dropUser("demo_user");
    删除库下面所有用户
    use demo
    db.dropAllUsers()
    获取角色信息
    use demo
    db.getUser("demo_user")
    重启mongodb

具体角色

    Read:允许用户读取指定数据库
    readWrite:允许用户读写指定数据库
    dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
    userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
    clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
    readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
    readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
    userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin 权限
    dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限
    root:只在admin数据库中可用。超级账号,超级权限
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: