摘要:在字段可以指定內(nèi)置角色和用戶定義的角色。超級(jí)用戶的有兩種,或者比前一種多加了對(duì)所有數(shù)據(jù)庫(kù)的訪問僅僅是訪問而已。不能用數(shù)據(jù)庫(kù)中的用戶登錄其他數(shù)據(jù)庫(kù)。
1、進(jìn)入mongodb的shell :
mongo2、切換數(shù)據(jù)庫(kù)
use admin3、創(chuàng)建admin超級(jí)管理員用戶
指定用戶的角色和數(shù)據(jù)庫(kù):
(注意此時(shí)添加的用戶都只用于admin數(shù)據(jù)庫(kù),而非你存儲(chǔ)業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)庫(kù))
(在cmd中敲多行代碼時(shí),直接敲回車換行,最后以分號(hào)首尾)
db.createUser( { user: "admin", customData:{description:"superuser"}, pwd: "admin", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
user字段,為新用戶的名字;4、創(chuàng)建一個(gè)不受訪問限制的超級(jí)用戶
pwd字段,用戶的密碼;
cusomData字段,為任意內(nèi)容,例如可以為用戶全名介紹;
roles字段,指定用戶的角色,可以用一個(gè)空數(shù)組給新用戶設(shè)定空角色。在roles字段,可以指定內(nèi)置角色和用戶定義的角色。
超級(jí)用戶的role有兩種,userAdmin或者userAdminAnyDatabase(比前一種多加了對(duì)所有數(shù)據(jù)庫(kù)的訪問,僅僅是訪問而已)。
db是指定數(shù)據(jù)庫(kù)的名字,admin是管理數(shù)據(jù)庫(kù)。
不能用admin數(shù)據(jù)庫(kù)中的用戶登錄其他數(shù)據(jù)庫(kù)。注:只能查看當(dāng)前數(shù)據(jù)庫(kù)中的用戶,哪怕當(dāng)前數(shù)據(jù)庫(kù)admin數(shù)據(jù)庫(kù),也只能查看admin數(shù)據(jù)庫(kù)中創(chuàng)建的用戶。
(跳出三界之外,不在五行之中)
db.createUser( { user:"root", pwd:"pwd", roles:["root"] } )5、創(chuàng)建一個(gè)業(yè)務(wù)數(shù)據(jù)庫(kù)管理員用戶
(只負(fù)責(zé)某一個(gè)或幾個(gè)數(shù)據(jù)庫(kù)的増查改刪)
> db.createUser({ user:"user001", pwd:"123456", customData:{ name:"jim", email:"jim@qq.com", age:18, }, roles:[ {role:"readWrite",db:"db001"}, {role:"readWrite",db:"db002"}, "read"http:// 對(duì)其他數(shù)據(jù)庫(kù)有只讀權(quán)限,對(duì)db001、db002是讀寫權(quán)限 ] })
數(shù)據(jù)庫(kù)用戶角色:read、readWrite;
數(shù)據(jù)庫(kù)管理角色:dbAdmin、dbOwner、userAdmin;
集群管理角色:clusterAdmin、clusterManager、4. clusterMonitor、hostManage;
備份恢復(fù)角色:backup、restore;
所有數(shù)據(jù)庫(kù)角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超級(jí)用戶角色:root
內(nèi)部角色:__system
Read:允許用戶讀取指定數(shù)據(jù)庫(kù)
readWrite:允許用戶讀寫指定數(shù)據(jù)庫(kù)
dbAdmin:允許用戶在指定數(shù)據(jù)庫(kù)中執(zhí)行管理函數(shù),如索引創(chuàng)建、刪除,查看統(tǒng)計(jì)或訪問system.profile
userAdmin:允許用戶向system.users集合寫入,可以在指定數(shù)據(jù)庫(kù)里創(chuàng)建、刪除和管理用戶
clusterAdmin:只在admin數(shù)據(jù)庫(kù)中可用,賦予用戶所有分片和復(fù)制集相關(guān)函數(shù)的管理權(quán)限。
readAnyDatabase:只在admin數(shù)據(jù)庫(kù)中可用,賦予用戶所有數(shù)據(jù)庫(kù)的讀權(quán)限
readWriteAnyDatabase:只在admin數(shù)據(jù)庫(kù)中可用,賦予用戶所有數(shù)據(jù)庫(kù)的讀寫權(quán)限
userAdminAnyDatabase:只在admin數(shù)據(jù)庫(kù)中可用,賦予用戶所有數(shù)據(jù)庫(kù)的userAdmin權(quán)限
dbAdminAnyDatabase:只在admin數(shù)據(jù)庫(kù)中可用,賦予用戶所有數(shù)據(jù)庫(kù)的dbAdmin權(quán)限。
root:只在admin數(shù)據(jù)庫(kù)中可用。超級(jí)賬號(hào),超級(jí)權(quán)限
show users 或 db.system.users.find() 或 db.runCommand({usersInfo:"userName"})7、修改密碼
use admin db.changeUserPassword("username", "xxx")8、修改密碼和用戶信息
db.runCommand( { updateUser:"username", pwd:"xxx", customData:{title:"xxx"} } )9、刪除數(shù)據(jù)庫(kù)用戶
use admin db.dropUser("user001")10、創(chuàng)建其他數(shù)據(jù)管理員
// 登錄管理員用戶 use admin db.auth("admin","admin") // 切換至db001數(shù)據(jù)庫(kù) use db001 // ... 増查改刪該數(shù)據(jù)庫(kù)專有用戶
啟用權(quán)限驗(yàn)證(別TM的武裝了大半天,大門還一直開著,還抱怨我方防御塔怎么一直被摧毀)
mongo --auth
或者修改mongo.conf,最后一行添加
#啟用權(quán)限訪問 auth=true11、重新啟動(dòng)mongodb
net stop mongodb; net start mongodb;
和用戶管理相關(guān)的操作基本都要在admin數(shù)據(jù)庫(kù)下運(yùn)行,要先use admin;
如果在某個(gè)單一的數(shù)據(jù)庫(kù)下,那只能對(duì)當(dāng)前數(shù)據(jù)庫(kù)的權(quán)限進(jìn)行操作;
db.addUser是老版本的操作,現(xiàn)在版本也還能繼續(xù)使用,創(chuàng)建出來(lái)的user是帶有root role的超級(jí)管理員。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/19315.html
摘要:下安裝和配置安裝由于我正好有一個(gè)的服務(wù)器,所以順便來(lái)試試下安裝。下安裝其實(shí)也很簡(jiǎn)單,使用對(duì)應(yīng)的包管理器可以比較方便的安裝和啟動(dòng)。首先需要安裝包,如果使用的話非常簡(jiǎn)單,右鍵點(diǎn)擊項(xiàng)目,選擇管理安裝的包,然后搜索并安裝即可。 MongoDB是一個(gè)著名的NoSQL數(shù)據(jù)庫(kù),顧名思義就是不使用SQL的數(shù)據(jù)庫(kù),目前在很多場(chǎng)景都有使用。如果你不喜歡使用笨拙的各種SQL數(shù)據(jù)庫(kù),可以嘗試使用一下Mongo...
摘要:一下安裝數(shù)據(jù)庫(kù)進(jìn)入官網(wǎng),選擇相應(yīng)的版本下載,安裝時(shí)默認(rèn)勾選安裝服務(wù)和修改一些數(shù)據(jù)庫(kù)配置,如已有數(shù)據(jù)庫(kù)連接工具,可取消默認(rèn)勾選的安裝。 一、Win下安裝數(shù)據(jù)庫(kù) 進(jìn)入mongo官網(wǎng),選擇相應(yīng)的msi版本下載,安裝時(shí)默認(rèn)勾選安裝MongoD服務(wù)和修改一些數(shù)據(jù)庫(kù)配置,如已有數(shù)據(jù)庫(kù)連接工具Robo 3T,可取消默認(rèn)勾選的compass安裝。 若啟動(dòng)服務(wù)報(bào)mp錯(cuò)誤,可修改binmongod.cfg...
摘要:安裝好時(shí),它為我們默認(rèn)開了一個(gè)最高管理權(quán)限方便我們管理數(shù)據(jù)庫(kù),我們可以用鏈接數(shù)據(jù)庫(kù),就是這個(gè)原理。這節(jié)課我們就學(xué)習(xí)一下的用戶管理。超級(jí)賬號(hào),超級(jí)權(quán)限查找用戶信息刪除用戶建權(quán)如果正確返回,如果錯(cuò)誤返回。。 安裝好MongoDB時(shí),它為我們默認(rèn)開了一個(gè)最高管理權(quán)限方便我們管理數(shù)據(jù)庫(kù),我們可以用mongo鏈接數(shù)據(jù)庫(kù),就是這個(gè)原理。但在實(shí)際開發(fā)中并一般不能使用這個(gè)用戶,因?yàn)榇蠹叶贾篮妥罡邫?quán)限...
摘要:本文將重點(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)...
閱讀 3038·2021-09-22 15:52
閱讀 2911·2019-08-30 15:55
閱讀 2707·2019-08-30 15:53
閱讀 2460·2019-08-30 13:21
閱讀 1627·2019-08-30 13:10
閱讀 2486·2019-08-26 12:09
閱讀 2572·2019-08-26 10:33
閱讀 1809·2019-08-23 18:06