美文网首页
【mongoDB】mongoDB内置用户角色

【mongoDB】mongoDB内置用户角色

作者: Bogon | 来源:发表于2021-11-18 00:03 被阅读0次

    1.实验使用的mongoDB版本

    # mongod  --version
    
    image.png

    2.在admin库创建数据库超管用户

    echo -e "use admin;\n db.createUser({user:\"root\",pwd:\"Root@123\",roles:[ { role:\"userAdminAnyDatabase\",db:\"admin\"}]})" |  mongo  --host 127.0.0.1  --port  27017
    
    # echo -e "use admin;\n show roles;"  | mongo --host 127.0.0.1 -u root -p "Root@123" --authenticationDatabase admin --quiet  > roles.json
    
    #  grep -w "role"  roles.json | awk  -F ',' '{print $1}' | wc -l
    
    # grep -w "role"  roles.json | awk  -F ',' '{print $1}'
    
    image.png image.png image.png
    1. 我们看看roles.json
    {
            "role" : "__queryableBackup",
            "db" : "admin",
            "isBuiltin" : true,
            "roles" : [ ],
            "inheritedRoles" : [ ]
    }
    {
            "role" : "__system",
            "db" : "admin",
            "isBuiltin" : true,
            "roles" : [ ],
            "inheritedRoles" : [ ]
    }
    {
            "role" : "backup",
            "db" : "admin",
            "isBuiltin" : true,
            "roles" : [ ],
            "inheritedRoles" : [ ]
    }
    {
            "role" : "clusterAdmin",
            "db" : "admin",
            "isBuiltin" : true,
            "roles" : [ ],
            "inheritedRoles" : [ ]
    }
    {
            "role" : "clusterManager",
            "db" : "admin",
            "isBuiltin" : true,
            "roles" : [ ],
            "inheritedRoles" : [ ]
    }
    {
            "role" : "clusterMonitor",
            "db" : "admin",
            "isBuiltin" : true,
            "roles" : [ ],
            "inheritedRoles" : [ ]
    }
    {
            "role" : "dbAdmin",
            "db" : "admin",
            "isBuiltin" : true,
            "roles" : [ ],
            "inheritedRoles" : [ ]
    }
    {
            "role" : "dbAdminAnyDatabase",
            "db" : "admin",
            "isBuiltin" : true,
            "roles" : [ ],
            "inheritedRoles" : [ ]
    }
    {
            "role" : "dbOwner",
            "db" : "admin",
            "isBuiltin" : true,
            "roles" : [ ],
            "inheritedRoles" : [ ]
    }
    {
            "role" : "enableSharding",
            "db" : "admin",
            "isBuiltin" : true,
            "roles" : [ ],
            "inheritedRoles" : [ ]
    }
    {
            "role" : "hostManager",
            "db" : "admin",
            "isBuiltin" : true,
            "roles" : [ ],
            "inheritedRoles" : [ ]
    }
    {
            "role" : "read",
            "db" : "admin",
            "isBuiltin" : true,
            "roles" : [ ],
            "inheritedRoles" : [ ]
    }
    {
            "role" : "readAnyDatabase",
            "db" : "admin",
            "isBuiltin" : true,
            "roles" : [ ],
            "inheritedRoles" : [ ]
    }
    {
            "role" : "readWrite",
            "db" : "admin",
            "isBuiltin" : true,
            "roles" : [ ],
            "inheritedRoles" : [ ]
    }
    {
            "role" : "readWriteAnyDatabase",
            "db" : "admin",
            "isBuiltin" : true,
            "roles" : [ ],
            "inheritedRoles" : [ ]
    }
    {
            "role" : "restore",
            "db" : "admin",
            "isBuiltin" : true,
            "roles" : [ ],
            "inheritedRoles" : [ ]
    }
    {
            "role" : "root",
            "db" : "admin",
            "isBuiltin" : true,
            "roles" : [ ],
            "inheritedRoles" : [ ]
    }
    {
            "role" : "userAdmin",
            "db" : "admin",
            "isBuiltin" : true,
            "roles" : [ ],
            "inheritedRoles" : [ ]
    }
    {
            "role" : "userAdminAnyDatabase",
            "db" : "admin",
            "isBuiltin" : true,
            "roles" : [ ],
            "inheritedRoles" : [ ]
    }
    
    
    1. 查看超管用户
    mongo --host 127.0.0.1 -u root -p "Root@123" --authenticationDatabase admin
    
    > use admin;
    
    > db.updateUser('root',{'roles':[{'role':'root','db':'admin'}]})
    
    > show users;
    
    {
            "_id" : "admin.root",
            "userId" : UUID("f3e5307e-2711-4697-acd2-7556210999ee"),
            "user" : "root",
            "db" : "admin",
            "roles" : [
                    {
                            "role" : "root",
                            "db" : "admin"
                    }
            ],
            "mechanisms" : [
                    "SCRAM-SHA-1",
                    "SCRAM-SHA-256"
            ]
    }
    
    
    

    相关文章

      网友评论

          本文标题:【mongoDB】mongoDB内置用户角色

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