日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mongo在哪创建管理员_MongoDB添加用户

發布時間:2024/4/17 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mongo在哪创建管理员_MongoDB添加用户 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MongoDB采用基于角色的訪問控制(RBAC)來確定用戶的訪問。 授予用戶一個或多個角色,確定用戶對MongoDB資源的訪問權限和用戶可以執行哪些操作。 用戶應該只有最小權限集才能確保最小權限的系統。

MongoDB系統的每個應用程序和用戶都應該映射到不同的用戶。 這種訪問隔離便于訪問撤銷和持續的用戶維護。

前提條件

如果啟用了部署的訪問控制,則可以使用localhost異常來創建系統中的第一個用戶。 此第一個用戶必須具有創建其他用戶的權限。 對于MongoDB 3.0,使用localhost異常只能在admin數據庫上創建用戶。 創建第一個用戶后,必須使用該用戶進行身份驗證以添加后續用戶。 啟用Auth提供有關在啟用部署訪問控制時添加用戶的更多詳細信息。

對于常規用戶創建,必須擁有以下權限:

要在數據庫中創建新用戶,必須在該數據庫資源上具有createUser操作。

要向用戶授予角色,必須對角色的數據庫執行grantRole操作。

userAdmin和userAdminAnyDatabase內置角色在其各自的資源上提供createUser和grantRole操作。

例子

要在MongoDB部署中創建用戶,請連接到部署,然后使用db.createUser()方法或createUser命令添加用戶。

MongoDB是一個nosql數據庫服務器。 默認安裝提供使用mongo命令通過命令行訪問數據庫而不進行身份驗證。下面我們來學習如何在具有適當身份驗證的Mongodb服務器中創建用戶。

創建管理員用戶

可以使用以下命令在MongoDB服務器中創建具有管理員權限的用戶。

$ mongo

> use admin

> db.createUser(

{

user:"maxsu",

pwd:"pwd123",

roles:[{role:"root",db:"admin"}]

}

)

> exit

現在嘗試通過命令行使用上述用戶憑據登錄 -

D:\Program Files\MongoDB\Server\3.4\bin>mongo -u maxsu -p --authenticationDatabase admin

MongoDB shell version v3.4.5

Enter password:

connecting to: mongodb://127.0.0.1:27017

MongoDB server version: 3.4.5

Server has startup warnings:

2017-07-05T21:16:55.901+0800 I CONTROL [initandlisten]

2017-07-05T21:16:55.902+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.

2017-07-05T21:16:55.905+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.

2017-07-05T21:16:55.908+0800 I CONTROL [initandlisten]

>

添加數據庫用戶

您還可以創建指定數據庫的用戶,該用戶只能訪問該數據庫。也可以為此數據庫上的用戶指定訪問級別。 例如,創建一個在mydb數據庫上具有讀寫訪問權限的用戶帳戶。

> use mydb

> db.createUser(

{

user: "user01",

pwd: "pwd123",

roles: ["readWrite"]

}

)

> exit

驗證身份驗證使用以下命令。 返回結果為1,表示認證成功。

> db.auth('user01','pwd123')

1

>

要列出數據庫的所有用戶,請使用以下命令。

> db.getUsers()

上面語句,返回結果如下所示 -

> db.getUsers()

[

{

"_id" : "mydb.user01",

"user" : "user01",

"db" : "mydb",

"roles" : [

{

"role" : "readWrite",

"db" : "mydb"

}

]

},

{

"_id" : "mydb.user02",

"user" : "user02",

"db" : "mydb",

"roles" : [

{

"role" : "readWrite",

"db" : "mydb"

}

]

}

]

>

刪除數據庫用戶

也可以使用以下命令從數據庫中刪除用戶。

> use mydb

> db.dropUser('user02')

創建帶角色的用戶

以下操作在test數據庫中創建用戶:mynewuser,并向用戶提供readWrite和dbAdmin角色。

use test

db.createUser(

{

user: "mynewuser",

pwd: "myuser123",

roles: [ "readWrite", "dbAdmin" ]

}

);

創建沒有角色的用戶

以下操作在test數據庫中創建一個名為mynewuser1的用戶,但尚未分配角色:

use test

db.createUser(

{

user: "mynewuser1",

pwd: "myuser1123",

roles: [ ]

}

);

創建具有角色的管理用戶

以下操作在管理數據庫中創建一個名為 myadmin1 的用戶,并給予用戶對config數據庫的 readWrite 訪問權限,這樣可以讓用戶更改分片分區的某些設置,例如平衡器設置。

use admin

db.createUser(

{

user: "myadmin1",

pwd: "myadmin123",

roles:

[

{ role: "readWrite", db: "config" },

"clusterAdmin"

]

}

);

總結

以上是生活随笔為你收集整理的mongo在哪创建管理员_MongoDB添加用户的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。