mongodb中的添加用戶操做

mongodb添加用戶

本教程介紹mongodb中添加用戶的一些操做mongodb

mongodb中的用戶是什麼

在mongodb中經過用戶來管理每一個數據庫的權限,想要控制數據庫的使用權,就須要添加用戶,給指定的用戶分配權限,讓特定用戶來作特定的操做。docker

添加用戶有什麼用

細分權限,限制數據庫的訪問和使用,提升mongodb的安全性。shell

爲何要添加用戶

防止被人非法使用,作一些非法操做,致使一些嚴重後果。
好比刪庫跑路─=≡Σ(((つ•̀ω•́)つ數據庫

怎麼添加用戶

首先,在mongod啓動時是不會啓動校驗的api

mongod

啓動mongod後,鏈接到mongod安全

root@e444205572bd:/# mongo
MongoDB shell version v4.1.9
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("e3fd959c-db96-4853-a306-9edcc8c5baa7") }
MongoDB server version: 4.1.9
......

指定到admin數據庫下session

> use admin
switched to db admin

經過指定的函數建立用戶函數

> db.createUser({user:"user", pwd:"123123", roles:["root"]})
Successfully added user: { "user" : "user", "roles" : [ "root" ] }

經過show查看該數據庫的用戶url

> show users
{
    "_id" : "admin.user",
    "userId" : UUID("95e02aca-49c2-4852-b2bc-7dc4f2738175"),
    "user" : "user",
    "db" : "admin",
    "roles" : [
        {
            "role" : "root",
            "db" : "admin"
        }
    ],
    "mechanisms" : [
        "SCRAM-SHA-1",
        "SCRAM-SHA-256"
    ]
}

建立用戶成功code

添加用戶以後如何鏈接mongodb

使用mongo鏈接

root@1410aa527d51:/# mongo -u user -p 123123         
MongoDB shell version v4.1.9
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("8e9a9173-8263-40ea-b814-39090f0c90b7") }
MongoDB server version: 4.1.9
........

在mgo中進行鏈接

"mongodb://user:123123@localhost:27017"
info := &mgo.DialInfo{
        Addrs:[]string{
            "localhost:27017",
        },
        Direct:false,
        Timeout:30 * time.Second,
        Database: "user",
        Source:"admin",
        Username:"user",
        Password:"123123",
    
    }

    session, err := mgo.DialWithInfo(info)


    //session, err := mgo.Dial(url)
    if err != nil {
        logs.Error(err)
    }

注:

經過docker部署的mongo,在啓動時添加參數MONGO_INITDB_ROOT_USERNAMEMONGO_INITDB_ROOT_PASSWORD是能夠建立用戶的。可是若是以前的mongo並無建立用戶,而且你掛載了volume,把容器中的db數據映射到了宿主機,那你就要進入容器中手動建立用戶了。

相關文章
相關標籤/搜索