亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > WEB開發 > 正文

MongoDB身份驗證--命令行模式

2024-04-27 15:07:16
字體:
來源:轉載
供稿:網友

摘要 MongoDB3.x與之前的版本有很大區別,這里簡單介紹一下用戶身份驗證相關內容。

1. 了解3.x版本添加用戶的函數 函數:

db.createUser(user,writeConcern);

參數: user這個文檔關于用戶身份認證和訪問的相關信息; writeConcern這個文檔描述MongoDB提供寫操作的相關信息。

user 文檔提供的格式: { user: “”, pwd: “”, customData: { }, roles: [ { role: “”, db: “” } | “”, … ]

user 文檔字段介紹: user:用戶名 pwd:密碼 roles:指定用戶的角色,可以用一個空數組給新用戶設定空角色; 在roles字段,可以指定內置角色和用戶定義的角色。

role里的角色可以選:

Built-In Roles(內置角色): 1. 數據庫用戶角色:read、readWrite; 2. 數據庫管理角色:dbAdmin、dbOwner、userAdmin; 3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager; 4. 備份恢復角色:backup、restore; 5. 所有數據庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase 6. 超級用戶角色:root // 這里還有幾個角色間接或直接提供了系統超級用戶的訪問(dbOwner 、userAdmin、userAdminAnyDatabase) 7. 內部角色:__system

角色釋義:

Read:允許用戶讀取指定數據庫 readWrite:允許用戶讀寫指定數據庫 dbAdmin:允許用戶在指定數據庫中執行管理函數,如索引創建、刪除,查看統計或訪問system.PRofile userAdmin:允許用戶向system.users集合寫入,可以找指定數據庫里創建、刪除和管理用戶 clusterAdmin:只在admin數據庫中可用,賦予用戶所有分片和復制集相關函數的管理權限。 readAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀權限 readWriteAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀寫權限 userAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的userAdmin權限 dbAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的dbAdmin權限。 root:只在admin數據庫中可用。超級賬號,超級權限

2.添加用戶

在安裝MongoDB完成后,啟動未啟用安全檢查的MongoDB服務,進入查看數據庫,只有一個local庫,admin庫是不存在的?,F在創建一個擁有授權權限的帳號,su,這里注意一下在哪個庫下創建的用戶必須要在那個庫下去驗證(auth)。MongoDB shell version: 3.2.3connecting to: test> use adminswitched to db admin> db.createUser({user:"su",pwd:"su", roles: [{ role: "userAdminAnyDatabase", db: "admin" }]});Successfully added user: {        "user" : "su",        "roles" : [                {                        "role" : "userAdminAnyDatabase",                        "db" : "admin"                }        ]}12345678910111213141234567891011121314

上面創建一個擁有 userAdminAnyDatabase 角色,用來管理用戶的用戶,可以通過這個角色來創建、刪除用戶。驗證時需要重新啟動MongoDB服務,加上–auth參數。

>mongod --auth ## 重啟MongoDB服務11

重新登錄:

MongoDB shell version: 3.2.3connecting to: test> show dbs; ## 這里因為沒有驗證,導致訪問失敗2016-04-27T14:34:44.573+0800 E QUERY [thread1] Error: listDatabases failed:{ "ok" : 0, "errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }", "code" : 13} :_getErrorWithCode@src/mongo/shell/utils.js:23:13Mongo.prototype.getDBs@src/mongo/shell/mongo.js:53:1shellHelper.show@src/mongo/shell/utils.js:700:19shellHelper@src/mongo/shell/utils.js:594:15@(shellhelp2):1:1>123456789101112131415123456789101112131415

因為在admin創建的用戶,在test下驗證所以失敗了

MongoDB shell version: 3.2.3connecting to: test> db.auth("su","su");                                                          ## 并不是在test中創建的用戶Error: Authentication failed.0> use admin                                                                    ## 切換到adminswitched to db admin> db.auth("su","su");1                                                                              ## 驗證成功>>> use test                                                                     ## 在test下創建用戶switched to db test> db.createUser({user:"mengximengxi",pwd:"mengximengxi", roles: ["read"]});    ## 只讀Successfully added user: { "user" : "mengximengxi", "roles" : [ "read" ] }     ## 默認為當前的數據庫> db.createUser({user:"mxmx",pwd:"mxmx", roles: ["readWrite"]});               ## 讀寫Successfully added user: { "user" : "mxmx", "roles" : [ "readWrite" ] }12345678910111213141516171234567891011121314151617

3.驗證

> use adminswitched to db admin> db.auth("su","su");1> db.test.find();                                                    ## 查看失敗,userAdminAnyDatabase 只是針對用戶的管理權限,并沒有對數據的操作權限Error: error: {        "ok" : 0,        "errmsg" : "not authorized on admin to execute command { find: /"test/", filter: {} }",        "code" : 13}> db.auth("mengximengxi","mengximengxi");1> db.test.insert({name:"zhaoxiaoliu"});                                  ## 只讀的,不能進行寫入操作WriteResult({        "writeError" : {                "code" : 13,                "errmsg" : "not authorized on test to execute command { insert: /"test/", documents: [ { _id: ObjectId('5720636a26c1f39ce9a7a9bd'), name: /"zhaoxiaoliu/" } ], ordered: true }"        }})> db.auth("mxmx","mxmx");                                                ## 可以進行寫操作1> db.test.insert({name:"zhaoxiaoliu"});WriteResult({ "nInserted" : 1 })>12345678910111213141516171819202122232425261234567891011121314151617181920212223242526

只有擁有root權限才既有授權權限,又有對集合操作的權限。

> db.createUser({user:"root",pwd:"root", roles: [{role:"root",db:"admin"}]});      ## 創建擁有超級權限的用戶Successfully added user: {        "user" : "root",        "roles" : [                {                        "role" : "root",                        "db" : "admin"                }        ]}> db.test.insert({name:"tianxiaoqi"});                                             ## 寫WriteResult({ "nInserted" : 1 })> db.createUser({user:"test_user",pwd:"mxmx", roles: ["readWrite"]}); Successfully added user: { "user" : "test_user", "roles" : [ "readWrite" ] }       ## 添加用戶1234567891011121312345678910111213

4.注意

1.可以在當前數據庫下去創建其他數據庫的用戶帳號,但是該帳號只能在當前數據庫下才能驗證通過,然后才能去操作對應的數據庫; 

2.安全檢查未開啟的情況下,在其他的數據庫創建對應的用戶也是可以的。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品第二页| 日韩美女激情视频| 国产精品久久久久久久久久| 欧美成人精品h版在线观看| 中文字幕亚洲字幕| 国产精品视频一| 美女国内精品自产拍在线播放| 亚洲视频欧洲视频| 国产亚洲视频在线观看| 成人免费在线视频网址| 欧美日韩在线免费| 成人妇女淫片aaaa视频| 国产精品久久久久秋霞鲁丝| 欧美日本中文字幕| 韩剧1988在线观看免费完整版| 亚洲视屏在线播放| 在线日韩欧美视频| 国产美女久久久| 日韩精品在线免费观看视频| 亚洲国产精品一区二区三区| 中文字幕亚洲欧美日韩在线不卡| 日韩精品亚洲视频| 日韩av在线免费看| 这里只有精品视频在线| 亚洲欧美综合图区| www高清在线视频日韩欧美| 精品亚洲一区二区三区四区五区| 亚洲一区二区精品| 大量国产精品视频| 国产视频在线观看一区二区| 欧美精品一二区| 中文字幕欧美精品在线| 国产精品成人免费视频| 亚洲人成欧美中文字幕| 孩xxxx性bbbb欧美| 欧美激情视频一区二区三区不卡| 亚洲乱码av中文一区二区| 日韩欧美亚洲范冰冰与中字| 亚洲天堂视频在线观看| 国产成人免费av电影| 亚洲精品国产拍免费91在线| 深夜精品寂寞黄网站在线观看| 久久久久久久久久国产精品| 成人精品网站在线观看| 久久中国妇女中文字幕| 亚洲乱码国产乱码精品精天堂| 亚洲毛片一区二区| 欧美高清激情视频| 一区二区三区在线播放欧美| 久久久久久久激情视频| 欧美高清videos高潮hd| 国外成人性视频| 欧美夫妻性生活视频| 欧美精品久久久久久久久| 国精产品一区一区三区有限在线| 国产成人aa精品一区在线播放| 亚洲精品动漫久久久久| 久久男人资源视频| 精品调教chinesegay| 国产成人精品在线| 久久69精品久久久久久国产越南| 欧美日韩中文在线观看| 亚洲黄色片网站| 欧美一级高清免费播放| 麻豆国产va免费精品高清在线| 国产在线视频91| 欧美三级xxx| 日韩精品中文在线观看| 97福利一区二区| 美女性感视频久久久| 亚洲 日韩 国产第一| 日本一区二区三区在线播放| 成人网页在线免费观看| 亚洲欧美国产精品va在线观看| 亚洲欧美日韩直播| 亚洲欧美日韩国产精品| 国产精品爽爽爽爽爽爽在线观看| 亚洲美女激情视频| 欧美理论电影在线播放| 国产美女直播视频一区| 麻豆国产精品va在线观看不卡| 成人黄色短视频在线观看| 91久久精品视频| 欧美综合在线观看| 国产精品一香蕉国产线看观看| 一区二区三区国产视频| 日韩精品久久久久久福利| 不卡在线观看电视剧完整版| 色老头一区二区三区在线观看| 久久婷婷国产麻豆91天堂| 91成人在线观看国产| 欧美高清在线观看| 91香蕉嫩草影院入口| 日韩精品丝袜在线| 欧美视频第一页| 91美女福利视频高清| 久久久亚洲国产天美传媒修理工| 91精品久久久久久久久久久久久久| 亚洲美女精品成人在线视频| 欧美性猛交xxxx乱大交3| 亚洲最大av网| 最近中文字幕mv在线一区二区三区四区| 亚洲成人精品视频在线观看| 亚洲视频电影图片偷拍一区| 亚洲国产成人久久综合一区| 欧美激情精品久久久久久黑人| 日韩中文字幕在线播放| 国产精品久久久久久婷婷天堂| 久久69精品久久久久久国产越南| 亚洲在线观看视频网站| 亚洲欧美综合v| 亚洲欧美日韩网| 久久久久久国产精品美女| 欧美午夜视频在线观看| www.亚洲男人天堂| 欧美视频13p| 欧美一区在线直播| 中文字幕国产亚洲2019| 亚洲美女性生活视频| 日韩久久免费电影| 国产精品日日做人人爱| 国产91露脸中文字幕在线| 日韩欧美综合在线视频| 午夜精品久久久久久久99热| 欧美高清不卡在线| 国产性色av一区二区| 国产精品夜间视频香蕉| 国产亚洲成精品久久| 91成人在线视频| 国产精品一香蕉国产线看观看| 日本在线精品视频| 国产97免费视| 91国产美女在线观看| 97国产成人精品视频| 欧美精品一区二区三区国产精品| 日本精品视频在线| 久久99久久99精品免观看粉嫩| 91亚洲永久免费精品| 国产欧美精品xxxx另类| 久久久久久有精品国产| 精品香蕉一区二区三区| 日韩欧亚中文在线| 91手机视频在线观看| 亚洲美女性生活视频| 亚洲欧美www| 一道本无吗dⅴd在线播放一区| 97久久久久久| 国产视频在线一区二区| 精品亚洲一区二区三区在线播放| 亚洲自拍欧美另类| 国产成人精品优优av| 成人激情视频在线观看| 亚州精品天堂中文字幕| 欧洲精品在线视频| 欧美日韩中文在线| 国产在线观看精品一区二区三区| 日韩精品高清在线| 欧美区在线播放| 中文字幕亚洲激情| 91久久久久久久久久久久久| 国产精品久久999| 久久久噜久噜久久综合| 91产国在线观看动作片喷水| 日韩成人av一区|