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