MongoDB用戶和密碼登陸

1、MongoDB中內置角色html

角色 介紹
read 提供讀取全部非系統的集合(數據庫)
readWrite 提供讀寫全部非系統的集合(數據庫)和讀取全部角色的全部權限
dbAdmin 提供執行管理任務的功能,例如與架構相關的任務,索引編制,收集統計信息。此角色不授予用戶和角色管理權限。
dbOwner 提供對數據庫執行任何管理操做的功能。此角色組合了readWrite,dbAdmin和userAdmin角色授予的權限。
userAdmin 提供在當前數據庫上建立和修改角色和用戶的功能。因爲userAdmin角色容許用戶向任何用戶(包括他們本身)授予任何權限,所以該角色還間接提供對數據庫的超級用戶訪問權限,或者,若是做用於管理數據庫,則提供對羣集的訪問權限。
clusterAdmin 提供最佳的集羣管理訪問。此角色組合了clusterManager,clusterMonitor和hostManager角色授予的權限。此外,該角色還提供了dropDatabase操做。
readAnyDatabase 僅在admin 數據庫中使用,提供全部數據庫的讀權限。
readWriteAnyDatabase 盡在admin 數據庫中使用,提供全部數據庫的讀寫權限
userAdminAnyDatabase 盡在admin 數據庫中使用,提供與userAdmin相同的用戶管理操做訪問權限,容許用戶向任何用戶(包括他們本身)授予任何權限,所以該角色還間接提供超級用戶訪問權限。
dbAdminAnyDatabase 僅在admin 數據庫中使用,提供與dbAdmin相同的數據庫管理操做訪問權限,該角色還在整個羣集上提供listDatabases操做。
root 盡在admin 數據庫中使用,提供超級權限

2、建立管理員用戶sql

建立管理員mongodb

鏈接mongodbshell

 

mongo --host 10.10.18.11

 

複製代碼

use admin
db.createUser(
  {
    user: "myUserAdmin",
    pwd: "abc123",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
  }
)

複製代碼

建立管理員帳號:myUserAdmin 密碼:abc123數據庫

 

查看建立的管理員帳號api

use admin
db.getUser("myUserAdmin")

重啓MongoDB實例session

鏈接MongoDB架構

一、相似Mysql同樣鏈接server

mongo --host 10.10.18.11 -u "myUserAdmin" --authenticationDatabase "admin" -p'abc123'

結果:htm

1 MongoDB shell version v4.0.10
2 connecting to: mongodb://10.10.18.11:27017/?authSource=admin&gssapiServiceName=mongodb
3 Implicit session: session { "id" : UUID("3b067347-1b0e-4761-9399-cb3ad4ba6c93") }
4 MongoDB server version: 4.0.10

二、登陸後進行驗證

鏈接mongodb

mongo --host 10.10.18.11

進行驗證

rs0:PRIMARY> use admin
switched to db admin
rs0:PRIMARY> db.auth("myUserAdmin", "abc123" )
1

3、建立普通用戶

建立一個普通用戶

用戶名:myTester
密碼:xyz123
權限:讀寫數據庫 test, 只讀數據庫 reporting。

複製代碼

use test
db.createUser(
  {
    user: "myTester",
    pwd: "xyz123",
    roles: [ { role: "readWrite", db: "test" },
             { role: "read", db: "reporting" } ]
  }
)

複製代碼

普通用戶鏈接MongoDB實例

mongo --host 10.10.18.11 -u "myTester" --authenticationDatabase "test" -p'xyz123'

結果:

1 MongoDB shell version v4.0.10
2 connecting to: mongodb://10.10.18.11:27017/?authSource=test&gssapiServiceName=mongodb
3 Implicit session: session { "id" : UUID("3e9011ee-729f-4112-acd1-f5d1515490ac") }
4 MongoDB server version: 4.0.10

驗證權限

在test集合中插入、查詢數據

複製代碼

rs0:PRIMARY> db.test.insertOne({name:"sue",age:19,status:'p'})
{
        "acknowledged" : true,
        "insertedId" : ObjectId("5d00b364a75d40ae9b83c64c")
}
rs0:PRIMARY> db.test.find({name:"sue"})
{ "_id" : ObjectId("5d00b364a75d40ae9b83c64c"), "name" : "sue", "age" : 19, "status" : "p" }

複製代碼

 

分類: MongoDB

好文要頂 關注我 收藏該文  

溫斌
關注 - 0
粉絲 - 0

+加關注

0

0

« 上一篇: MongoDB安裝 
» 下一篇: MongoDB的集羣模式--Sharding(分片)

相關文章
相關標籤/搜索