美文网首页
mongo 以docker运行,给所有db自动配置用户权限

mongo 以docker运行,给所有db自动配置用户权限

作者: DanielYuan2012 | 来源:发表于2018-07-26 19:13 被阅读0次

    [toc]

    docker 运行时启动授权模式

    docker 运行时加上 环境变量MONGO_INITDB_ROOT_USERNAME 和MONGO_INITDB_ROOT_PASSWORD 会自动启动授权

    docker run -d --name my_mongo -v /var/lib/mongo:/data/db -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=your_user -e MONGO_INITDB_ROOT_PASSWORD=your_password mongo:3.4-jessie

    mongo db 的权限自动设置

    mongo 每个db都有自己独立的权限设置,如果需要给所有的db 都加上读写权限,该如何设置呢?
    在 admin db上添加用户,并赋予读写所有db的权限.
    如下所示 创建了两个用户,一个是只读用户,一个是读写用户

    db.createUser(
    {
    user: "reader",
    pwd: "xxxxxx",
    roles: [ { role: "readAnyDatabase", db: "admin" } ]
    }
    )

    db.createUser(
    {
    user: "readWriter",
    pwd: "xxxxxx",
    roles: [ { role: "readWriteAnyDatabase", db: "admin" } ]
    }
    )

    将以上脚本保存为mongo_users.js 可以自动化执行添加用户操作:
    mongo mongo_server_ip:27017/admin mongo_users.js -u "your_user" -p "your_admin" --authenticationDatabase "admin"

    参考

    [docker mongo] https://hub.docker.com/_/mongo/
    [mongo db文档](https://docs.mongodb.com/manual/reference/method/db.createUser/)

    相关文章

      网友评论

          本文标题:mongo 以docker运行,给所有db自动配置用户权限

          本文链接:https://www.haomeiwen.com/subject/ooqimftx.html