最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

mongoDB中用戶與權(quán)限的介紹

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 19:33:06
文檔

mongoDB中用戶與權(quán)限的介紹

mongoDB中用戶與權(quán)限的介紹:這篇文章給大家介紹的文章內(nèi)容是關(guān)于mongoDB中用戶與權(quán)限的介紹,有很好的參考價值,希望可以幫助到有需要的朋友。前言對于數(shù)據(jù)庫而言,用戶和權(quán)限是非常重要的一部分,因為這涉及到安全,那么mongoDB的用戶和權(quán)限是怎么樣的呢?說明環(huán)境說明本文所用的mon
推薦度:
導(dǎo)讀mongoDB中用戶與權(quán)限的介紹:這篇文章給大家介紹的文章內(nèi)容是關(guān)于mongoDB中用戶與權(quán)限的介紹,有很好的參考價值,希望可以幫助到有需要的朋友。前言對于數(shù)據(jù)庫而言,用戶和權(quán)限是非常重要的一部分,因為這涉及到安全,那么mongoDB的用戶和權(quán)限是怎么樣的呢?說明環(huán)境說明本文所用的mon
這篇文章給大家介紹的文章內(nèi)容是關(guān)于mongoDB中用戶與權(quán)限的介紹,有很好的參考價值,希望可以幫助到有需要的朋友。

前言

對于數(shù)據(jù)庫而言,用戶和權(quán)限是非常重要的一部分,因為這涉及到安全,那么mongoDB的用戶和權(quán)限是怎么樣的呢?

說明

環(huán)境說明

本文所用的mongoDB版本是3.6,操作系統(tǒng)是windows。

其他說明

限于篇幅,本文不會介紹數(shù)據(jù)庫從下載到安裝的過程,關(guān)于安裝教程,網(wǎng)上有大量教程,你可以按照這些教程把它裝好跑起來。本文將重點介紹mongoDB的用戶和權(quán)限這一部分。

服務(wù)端和客戶端

對于mongoDB,分為服務(wù)端和客戶端。
在windows環(huán)境的安裝目錄下,直接雙擊打開mongod.exe,即可開啟mongoDB服務(wù)。
當(dāng)服務(wù)開啟后,便可以雙擊mongo.exe打開客戶端來連接到mongoDB服務(wù)。

開啟授權(quán)模式

mongoDB安裝后,如果直接用mongod.exe開啟服務(wù),默認(rèn)是沒有開啟授權(quán)模式的,如果你的mongoDB沒有開啟授權(quán)模式,那么任何人都不需要用戶名和密碼也可以登錄到mongoDB服務(wù)端,對你的數(shù)據(jù)庫為所欲為,甚至直接刪庫跑路。所以,在產(chǎn)品環(huán)境中,請確保一定記得開啟授權(quán)模式。

那么,怎么開啟授權(quán)模式呢?
打開cmd,進(jìn)入到安裝目錄的bin目錄下,執(zhí)行如下命令:

mongod --auth --port 27017 --dbpath /data/db

開啟了授權(quán)模式后,打開mongo.exe,在admin數(shù)據(jù)庫下,執(zhí)行show dbs,這時,數(shù)據(jù)庫會報錯,提醒沒有授權(quán)。如下:

1832079327-5b55736f215f4_articlex.png

用戶類型

mongoDB數(shù)據(jù)庫,大致分為兩類用戶,一種是管理員用戶,一種是普通用戶。

管理員

我們在admin數(shù)據(jù)庫中創(chuàng)建一個管理員用戶(userAdmin or userAdminAnyDatabase role),管理員用戶可以管理普通用戶。
首先,以非授權(quán)模式開啟mongoDB服務(wù)。

mongod --port 27017 --dbpath /data/db

然后進(jìn)入admin數(shù)據(jù)庫,執(zhí)行如下命令:

use admin
db.createUser(
 {
 user: "larry",
 pwd: "123456",
 roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
 }
)

當(dāng)提示Successfully added user,證明這個管理員用戶已經(jīng)添加成功。

普通用戶

當(dāng)管理員用戶創(chuàng)建成功后,我們便可以用這個管理員用戶來給每個數(shù)據(jù)庫來創(chuàng)建普通用戶。
首先,關(guān)閉上面所有的mongo shell窗口。
再以授權(quán)模式開啟mongoDB服務(wù)。

mongod --auth --port 27017 --dbpath /data/db

打開mongo.exe客戶端,進(jìn)入admin數(shù)據(jù)庫,用db.auth()登錄。

2705730853-5b55779866a37_articlex.png

第一個參數(shù)是上面創(chuàng)建的管理員用戶名larry,第二個參數(shù)是管理員用戶larry的密碼。
結(jié)果返回1,表示管理員larry登錄成功。
接下來,用這個管理員給photo_app數(shù)據(jù)庫創(chuàng)建一個普通用戶moddx,并指定其權(quán)限為readWrite。

use photo_app
db.createUser(
{
 user: "moddx",
 pwd: "123456",
 roles: [{ role: "readWrite", db: "photo_app"}]
}
)

查看用戶

全局所有賬戶

首先,要以管理員賬戶登錄到admin數(shù)據(jù)庫,接著執(zhí)行如下命令:

db.system.users.find().pretty()

775907167-5b58826d63475_articlex.png

當(dāng)前庫下的賬戶

查看全局所有賬戶,只有管理員才可以查看,而查看當(dāng)前庫中的帳號,普通用戶和管理員用戶都可以查看,查看當(dāng)前庫下的帳號命令如下:

show users

3196172815-5b5562008c138_articlex.png

刪除用戶

必須擁有dropUser權(quán)利的管理員帳號才能刪除用戶,所以,需要用管理員賬戶登錄進(jìn)行操作。
刪除普通用戶moddx的命令如下:

db.dropUser("moddx", {w: "majority", wtimeout: 5000})

撤銷權(quán)限

撤銷一個用戶的權(quán)限,命令如下:

db.revokeRolesFromUser(
 "moddx",
 [
 { role: "readWrite", db: "photo_app" }
 ]
)

注意:上面命令雖然撤銷了moddx用戶在photo_app數(shù)據(jù)庫中的讀寫權(quán)限,但是,用戶并沒有刪除,依舊可以登錄。

授予權(quán)限

如下命令給了用戶moddx在photo_app中的讀寫權(quán)限,同時,給予了他在demodb數(shù)據(jù)庫中的讀權(quán)限

use photo_app
db.grantRolesToUser(
 "moddx",
 [ "readWrite" , { role: "read", db: "demodb" } ],
 { w: "majority" , wtimeout: 4000 }
)

修改密碼

如下命令修改了photo_app中用戶moddx的密碼:

use photo_app
db.changeUserPassword("moddx", "newpwd")

小結(jié)

關(guān)于用戶和權(quán)限部分,常用shell操作命令就這些,希望能夠?qū)δ闶褂胢ongoDB帶來方便。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

mongoDB中用戶與權(quán)限的介紹

mongoDB中用戶與權(quán)限的介紹:這篇文章給大家介紹的文章內(nèi)容是關(guān)于mongoDB中用戶與權(quán)限的介紹,有很好的參考價值,希望可以幫助到有需要的朋友。前言對于數(shù)據(jù)庫而言,用戶和權(quán)限是非常重要的一部分,因為這涉及到安全,那么mongoDB的用戶和權(quán)限是怎么樣的呢?說明環(huán)境說明本文所用的mon
推薦度:
標(biāo)簽: 用戶 介紹 權(quán)限
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top