2.MongoDB 用户管理

06-14 1111阅读

  • 注意:
    • 验证库,建立用户时use到的库,在使用用户时,要加上验证库才能登陆。
      • 对于管理员用户,必须在admin下创建.
        • 1. 建用户时,use到的库,就是此用户的验证库
          • 2. 登录时,必须明确指定验证库才能登录
            • 3. 通常,管理员用的验证库是admin,普通用户的验证库一般是所管理的库设置为验证库
              • 4. 如果直接登录到数据库,不进行use,默认的验证库是test,不是我们生产建议的.
            • 创建用户的语法:
              • db.createUser
                • {
                  • user: "",
                    • pwd: "",
                      • roles: [
                        • { role: "",
                          • db: "" } | "",
                            • ...
                              • ]
                                • }
                              • 语法说明:
                                • user:用户名
                                  • pwd:密码
                                    • roles:
                                      • role:角色名
                                        • db:作用对象
                                          • role:root, readWrite,read
                                        • 实例1:
                                          • 创建超级管理员,管理所有数据库(必须在admin库中创建)
                                            • 登录mongodb:
                                              • mongo
                                                • use admin
                                                  • db.createUser(
                                                    • {
                                                      • user: "root",
                                                        • pwd: "root123",
                                                          • roles: [ { role: "root", db: "admin" } ]
                                                            • }
                                                              • )
                                                              • 登录验证用户创建是否成功:
                                                                • mongo -uroot -proot123 192.168.8.5/admin
                                                                • 禁止mongo无用户密码登录:
                                                                  • vim /mongodb/conf/mongo.conf
                                                                    • 添加:
                                                                      • security:
                                                                        • authorization: enabled
                                                                        • 重启mongodb
                                                                          • mongod -f /mongodb/conf/mongo.conf --shutdown
                                                                            • mongod -f /mongodb/conf/mongo.conf
                                                                            • 再次使用mongo登录 发现可以登录 但看不到任何数据库
                                                                            • 查看所有用户:
                                                                              • db.system.users.find().pretty()
                                                                          • 实例2;
                                                                            • 创建库管理用户:
                                                                              • 登录数据库:mongo -uroot -proot123 admin
                                                                                • use app (针对于app库创建管理用户)
                                                                                  • db.createUser(
                                                                                    • {
                                                                                      • user: "adminapp",
                                                                                        • pwd: "app123",
                                                                                          • roles: [ { role: "dbAdmin", db: "app" } ]
                                                                                            • }
                                                                                              • )
                                                                                                • 登录测试:mongo -uadminapp -papp123 192.168.8.10/app
                                                                                            • 实例3:
                                                                                              • 针对于app库创建app01用户,赋予读写权限:
                                                                                                • use app
                                                                                                  • 单库完全控制账户
                                                                                                    • db.createUser(
                                                                                                      • {
                                                                                                        • user: "app01",
                                                                                                          • pwd: "app01",
                                                                                                            • roles: [ { role: "readWrite" , db: "app" } ]
                                                                                                              • }
                                                                                                                • )
                                                                                                                • 登录测试:mongo -uapp01 -papp01 192.168.8.10/app
                                                                                                                  • 单库只读账户:
                                                                                                                    • use app
                                                                                                                      • db.createUser(
                                                                                                                        • {
                                                                                                                          • user: "app02",
                                                                                                                            • pwd: "app02",
                                                                                                                              • roles: [ { role: "read" , db: "app" } ]
                                                                                                                                • }
                                                                                                                                  • )
                                                                                                                                    • mongo -uapp02 -papp02 192.168.8.10/app
                                                                                                                              • 实例4:创建app数据库读写权限的用户并对test数据库具有读写权限:
                                                                                                                                • 创建多库管理账户:
                                                                                                                                  • 用户app03针对于app具有读写权限,针对于test库同样具备读写权限
                                                                                                                                    • mongo -uroot -proot123 192.168.8.10/admin
                                                                                                                                      • use app
                                                                                                                                        • db.createUser(
                                                                                                                                          • {
                                                                                                                                            • user: "app03",
                                                                                                                                              • pwd: "app03",
                                                                                                                                                • roles: [ { role: "readWrite", db: "app" },
                                                                                                                                                  • { role: "readWrite", db: "test" }]})
                                                                                                                                                    • mongo -uapp03 -papp03 192.168.8.10/app
                                                                                                                                                • 实例5:
                                                                                                                                                  • 查询mongodb中的用户信息:
                                                                                                                                                    • mongo -uroot -proot123 192.168.8.10/admin
                                                                                                                                                      • db.system.users.find().pretty()
                                                                                                                                                      • 删除用户(需要以root用户登录到验证库)
                                                                                                                                                        • mongo -uroot -proot123 192.168.8.10/admin
                                                                                                                                                          • use app
                                                                                                                                                            • db.dropUser("adminapp")
                                                                                                                                                        2.MongoDB 用户管理
                                                                                                                                                        (图片来源网络,侵删)
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]