成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

mongoDB初階系列一:用戶和權(quán)限

CastlePeaK / 3457人閱讀

摘要:本文將重點(diǎn)介紹的用戶和權(quán)限這一部分。結(jié)果返回,表示管理員登錄成功。接下來(lái),用這個(gè)管理員給數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)普通用戶,并指定其權(quán)限為。

前言

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

說(shuō)明 環(huán)境說(shuō)明

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

其他說(shuō)明

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

服務(wù)端和客戶端

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

開(kāi)啟授權(quán)模式

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

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

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

開(kāi)啟了授權(quán)模式后,打開(kāi)mongo.exe,在admin數(shù)據(jù)庫(kù)下,執(zhí)行show dbs,這時(shí),數(shù)據(jù)庫(kù)會(huì)報(bào)錯(cuò),提醒沒(méi)有授權(quán)。如下:

用戶類(lèi)型

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

管理員

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

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

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

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

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

普通用戶

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

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

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

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

use photo_app
db.createUser(
{
  user: "moddx",
  pwd: "123456",
  roles: [{ role: "readWrite", db: "photo_app"}]
}
)
查看用戶 全局所有賬戶

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

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

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

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

show users

刪除用戶

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

use myblog
db.dropUser("moddx", {w: "majority", wtimeout: 5000})
撤銷(xiāo)權(quán)限

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

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

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

授予權(quán)限

如下命令給了用戶moddx在photo_app中的讀寫(xiě)權(quán)限,同時(shí),給予了他在demodb數(shù)據(jù)庫(kù)中的讀權(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帶來(lái)方便。如果你需要更詳細(xì)的的介紹,請(qǐng)參考官方文檔:mongo shell methods

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/19333.html

相關(guān)文章

  • mongoDB初階系列二:node中的增刪改查

    摘要:前言上一篇中初階系列一用戶和權(quán)限介紹了用戶和權(quán)限,這一篇將介紹如何在中進(jìn)行增刪改查。這是初階系列的第二篇,接下來(lái)還有第三篇,借助,更優(yōu)雅地操作數(shù)據(jù)。 前言 上一篇中(mongoDB初階系列一:用戶和權(quán)限)介紹了用戶和權(quán)限,這一篇將介紹如何在node中進(jìn)行增刪改查。 準(zhǔn)備 首先,要在node中使用mongoDB,需要安裝MongoDB Driver,命令如下:npm install mo...

    Barrior 評(píng)論0 收藏0
  • mongoDB初階系列二:node中的增刪改查

    摘要:前言上一篇中初階系列一用戶和權(quán)限介紹了用戶和權(quán)限,這一篇將介紹如何在中進(jìn)行增刪改查。這是初階系列的第二篇,接下來(lái)還有第三篇,借助,更優(yōu)雅地操作數(shù)據(jù)。 前言 上一篇中(mongoDB初階系列一:用戶和權(quán)限)介紹了用戶和權(quán)限,這一篇將介紹如何在node中進(jìn)行增刪改查。 準(zhǔn)備 首先,要在node中使用mongoDB,需要安裝MongoDB Driver,命令如下:npm install mo...

    kevin 評(píng)論0 收藏0
  • mongoDB初階系列三:mongoose

    摘要:前言上篇初階系列二中的增刪改查中講解了用驅(qū)動(dòng)來(lái)對(duì)數(shù)據(jù)進(jìn)行增刪改查,本篇將繼續(xù)前進(jìn),依舊通過(guò)增刪改查來(lái)講解如何用更順暢的操控。查下面這段代碼對(duì)集合進(jìn)行搜索,并輸出每項(xiàng)任務(wù)的唯一和描述,等打印完成后,關(guān)閉數(shù)據(jù)庫(kù)連接。 前言 上篇 mongoDB初階系列二:node中的增刪改查 中講解了用node驅(qū)動(dòng)來(lái)對(duì)數(shù)據(jù)進(jìn)行增刪改查,本篇將繼續(xù)前進(jìn),依舊通過(guò)增刪改查來(lái)講解如何用mongoose更順暢的操...

    Null 評(píng)論0 收藏0
  • mongoDB初階系列三:mongoose

    摘要:前言上篇初階系列二中的增刪改查中講解了用驅(qū)動(dòng)來(lái)對(duì)數(shù)據(jù)進(jìn)行增刪改查,本篇將繼續(xù)前進(jìn),依舊通過(guò)增刪改查來(lái)講解如何用更順暢的操控。查下面這段代碼對(duì)集合進(jìn)行搜索,并輸出每項(xiàng)任務(wù)的唯一和描述,等打印完成后,關(guān)閉數(shù)據(jù)庫(kù)連接。 前言 上篇 mongoDB初階系列二:node中的增刪改查 中講解了用node驅(qū)動(dòng)來(lái)對(duì)數(shù)據(jù)進(jìn)行增刪改查,本篇將繼續(xù)前進(jìn),依舊通過(guò)增刪改查來(lái)講解如何用mongoose更順暢的操...

    yzzz 評(píng)論0 收藏0
  • MongoDB用戶角色解釋系列(上)

    摘要:每個(gè)角色只應(yīng)該為該角色授予必要的權(quán)限,并且只應(yīng)該為用戶分配適合其需求的角色。注解如果您還在掌握查詢語(yǔ)言,像這樣的工具有一個(gè)直觀的用戶管理器特性,這使得用戶管理更加直觀和直觀。 本文來(lái)自MongoDB中文社區(qū):http://www.mongoing.com/ 1、介紹 本文討論保護(hù)MongoDB數(shù)據(jù)庫(kù)所需的訪問(wèn)控制。具體來(lái)說(shuō),我們可以使用這些特性來(lái)確保只有經(jīng)過(guò)授權(quán)的用戶才能訪問(wèn)數(shù)據(jù)庫(kù)。每...

    paney129 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<