mongodb中的添加用戶操作

mongodb添加用戶

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

mongodb中的用戶是什麼

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

添加用戶有什麼用

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

爲什麼要添加用戶

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

怎麼添加用戶

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

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數據庫下

> use admin
switched to db admin

通過指定的函數創建用戶

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

通過show查看該數據庫的用戶

> 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"
    ]
}

創建用戶成功

添加用戶之後如何連接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數據映射到了宿主機,那你就要進入容器中手動創建用戶了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章