mongoDB初階系列一 使用者和許可權

2021-09-13 11:43:08 字數 2135 閱讀 3046

對於資料庫而言,使用者和許可權是非常重要的一部分,因為這涉及到安全,那麼mongodb的使用者和許可權是怎麼樣的呢?

本文所用的mongodb版本是3.6,作業系統是windows。

對於mongodb,分為服務端和客戶端。

在windows環境的安裝目錄下,直接雙擊開啟mongod.exe,即可開啟mongodb服務。

當服務開啟後,便可以雙擊mongo.exe開啟客戶端來連線到mongodb服務。

mongodb安裝後,如果直接用mongod.exe開啟服務,預設是沒有開啟授權模式的,如果你的mongodb沒有開啟授權模式,那麼任何人都不需要使用者名稱和密碼也可以登入到mongodb服務端,對你的資料庫為所欲為,甚至直接刪庫跑路。所以,在產品環境中,請確保一定記得開啟授權模式。

那麼,怎麼開啟授權模式呢?

開啟cmd,進入到安裝目錄的bin目錄下,執行如下命令:

mongod --auth --port 27017 --dbpath /data/db
開啟了授權模式後,開啟mongo.exe,在admin資料庫下,執行show dbs,這時,資料庫會報錯,提醒沒有授權。如下:

mongodb資料庫,大致分為兩類使用者,一種是管理員使用者,一種是普通使用者。

我們在admin資料庫中建立乙個管理員使用者(useradmin or useradminanydatabase role),管理員使用者可以管理普通使用者。

首先,以非授權模式開啟mongodb服務。

mongod --port 27017 --dbpath /data/db
然後進入admin資料庫,執行如下命令:

use admin

db.createuser(]})

當提示successfully added user,證明這個管理員使用者已經新增成功。

當管理員使用者建立成功後,我們便可以用這個管理員使用者來給每個資料庫來建立普通使用者。

首先,關閉上面所有的mongo shell視窗。

再以授權模式開啟mongodb服務。

mongod --auth --port 27017 --dbpath /data/db
開啟mongo.exe客戶端,進入admin資料庫,用db.auth()登入。

)首先,要以管理員賬戶登入到admin資料庫,接著執行如下命令:

檢視全域性所有賬戶,只有管理員才可以檢視,而檢視當前庫中的帳號,普通使用者和管理員使用者都可以檢視,檢視當前庫下的帳號命令如下:

撤銷乙個使用者的許可權,命令如下:

db.revokerolesfromuser(

"moddx",

)

db.grantrolestouser(

"moddx",

[ "readwrite" , ],

)db.changeuserpassword("moddx", "newpwd")

關於使用者和許可權部分,常用shell操作命令就這些,希望能夠對你使用mongodb帶來方便。如果你需要更詳細的的介紹,請參考官方文件:mongo shell methods

Linux(一) 使用者和組

每個使用者都屬於某個使用者組 乙個組中可以有多個使用者,乙個使用者也可以屬於不同的組。c 加上備註文字,備註文字儲存在 passwd 的備註欄中。d 指定使用者登入時的主目錄,替換系統預設值 home 使用者 d 變更預設值。e 指定賬號的失效日期,日期格式為 mm dd yy 例如06 30 12...

一 使用者管理(一)

一 建立使用者 概述 在oracle中要建立乙個新的使用者使用create user語句,一般是具有dba 資料庫管理員 的許可權才能使用。create user 使用者名稱 identified by 密碼 注意 oracle有個毛病,密碼必須以字母開頭,如果以數字開頭,它不會建立使用者 eg c...

菜鳥Scrum敏捷實踐系列(一)使用者故事概念

菜鳥scrum敏捷實踐系列索引 敏捷開發對需求規劃的要求是很高的,首先需求是打散的,乙個大的專案需求會拆分成很多小的功能完整的需求,以便排定優先順序去逐個實現,敏捷開發提公升了開發效率,但是對需求規劃的要求更高了,就是對產品的需求規劃能力提出了更高的要求,必須有清晰的思路,很強的需求規劃能力才行,這...