国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術(shù)|

香港云服务器
服務(wù)器之家 - 數(shù)據(jù)庫 - MongoDB - Mongodb如何開啟用戶訪問控制詳解

Mongodb如何開啟用戶訪問控制詳解

2020-05-10 17:20不爭 MongoDB

默認(rèn)啟動 MongoDB 服務(wù)時沒有任何參數(shù),可以對數(shù)據(jù)庫任意操 作,而且可以遠(yuǎn)程訪問數(shù)據(jù)庫,所以推薦開發(fā)階段可以不設(shè)置任何參數(shù),但對于生產(chǎn)環(huán)境還是要仔細(xì)考慮一下安全方面的因素,下面就介紹了Mongodb開啟用戶訪問控制的相關(guān)

前言

Mongodb 數(shù)據(jù)庫默認(rèn)情況下是沒有訪問控制的,整個數(shù)據(jù)庫對外是開發(fā)的,只要能連上數(shù)據(jù)庫,則可以進(jìn)行任何操作,這會對數(shù)據(jù)帶來很大的風(fēng)險。當(dāng)然,我們可以啟用mongodb的訪問控制,只讓通過認(rèn)證的用戶才能對數(shù)據(jù)庫進(jìn)行角色范圍內(nèi)的操作。

啟用訪問控制可以通過在啟動 mongodb 時指定 --auth 參數(shù)來設(shè)置,另外還涉及到創(chuàng)建用戶 db.createUser 操作以及一些角色的定義,我們先來看這部分內(nèi)容。

db.createUser() 用法

?
1
2
3
4
5
6
7
db.createUser({
 user: "$USERNAME",
 pwd: "$PASSWROD",
 roles: [
 { role: "$ROLE_NAME", db: "$DBNAME"}
 ]
})

參數(shù)說明:

  • user 是用戶名
  • pwd 是密碼
  • role 來指定用戶的角色
  • db 來指定所屬的數(shù)據(jù)庫
  • roles 是用戶所有角色的集合

Mongodb 預(yù)定義角色

Mongodb 中預(yù)定義了一些角色,把這些角色賦予給適當(dāng)?shù)挠脩羯希脩艟椭荒苓M(jìn)行角色范圍內(nèi)的操作。

1、數(shù)據(jù)庫用戶角色 (所有數(shù)據(jù)庫都有)

  • read 用戶可以讀取當(dāng)前數(shù)據(jù)庫的數(shù)據(jù)
  • readWrite 用戶可以讀寫當(dāng)前數(shù)據(jù)庫的數(shù)據(jù)

2、數(shù)據(jù)庫管理角色(所有數(shù)據(jù)庫都有)

  1. dbAdmin 管理員用戶但不能對用戶和角色管理授權(quán)
  2. dbOwner 數(shù)據(jù)庫所有者可進(jìn)行任何管理任務(wù)
  3. userAdmin 可以管理當(dāng)前數(shù)據(jù)的用戶和角色

3、集群管理角色(admin數(shù)據(jù)庫可用)

  1. clusterAdmin 集群所有管理權(quán)限,是 clusterManager , clusterMonitor, hostManager 合集
  2. clusterManager 集群管理和監(jiān)控
  3. clusterMonitor 集群監(jiān)控,只讀的
  4. hostManager 監(jiān)控和管理服務(wù)器

4、備份和恢復(fù)角色(admin數(shù)據(jù)庫可用)

  1. backup
  2. restore

5、所有數(shù)據(jù)庫角色(admin數(shù)據(jù)庫可用)

  1. readAnyDatabase 讀取所有數(shù)據(jù)庫
  2. readWriteAnyDatabase 讀寫所有數(shù)據(jù)庫
  3. userAdminAnyDatabase 所有數(shù)據(jù)庫的 userAdmin 權(quán)限
  4. dbAdminAnyDatabase 所有數(shù)據(jù)庫的 dbAdmin 權(quán)限

6、超級角色(admin數(shù)據(jù)庫可用)

  1. root 超級用戶

7、內(nèi)部角色

  • __system 所有操作權(quán)限

更多預(yù)定于角色的信息請參看:https://docs.mongodb.com/manual/core/security-built-in-roles/

啟用訪問控制的步驟

1, 啟動 mongodb 實(shí)例,關(guān)閉 訪問控制

不帶 --auth

?
1
./mongod

2, 連接上 mongodb 實(shí)例

?
1
./mongo

3,創(chuàng)建用戶管理員

在 admin 數(shù)據(jù)庫中添加一個 具有 userAdminAnyDatabase 角色的用戶作為用戶管理用戶。下面的例子中創(chuàng)建了 admin 為用戶管理員。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
> use admin
switched to db admin
> db.createUser({
... user: "admin",
... pwd: "admin",
... roles: [
... { role: "userAdminAnyDatabase", db: "admin"}
... ]
... })
Successfully added user: {
 "user" : "admin",
 "roles" : [
  {
   "role" : "userAdminAnyDatabase",
   "db" : "admin"
  }
 ]
}
>

退出連接

4,重啟數(shù)據(jù)庫啟用訪問控制

命令行啟動,只需要添加 --auth 參數(shù)

?
1
./mongo --auth

5,使用管理用戶連接,有兩種方法

  1. 使用命令行 ./mongo -u "$USERNAME" -p "$PASSWROD" --authenticationDatabase "admin"
  2. 使用 db.auth()

我們使用第二種

?
1
2
3
4
5
6
>
> use admin
switched to db admin
> db.auth("admin", "admin")
1
>

1 表示認(rèn)證成功

6, 為某個數(shù)據(jù)庫創(chuàng)建獨(dú)立用戶

以下為 test 數(shù)據(jù)庫 創(chuàng)建具有讀寫權(quán)限的用戶 test

admin 用戶由于只有 userAdminAnyDatabase 權(quán)限,所以沒有 test 數(shù)據(jù)的讀寫權(quán)限,所以,為了讀寫 test 數(shù)據(jù)庫,我們需要創(chuàng)建一個用戶。先看一下直接用 admin 會報什么錯誤

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
> use test
> show collections
2017-01-13T13:49:17.691+0800 E QUERY [thread1] Error: listCollections failed: {
"ok" : 0,
"errmsg" : "not authorized on test to execute command { listCollections: 1.0, filter: {} }",
"code" : 13
} :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype._getCollectionInfosCommand@src/mongo/shell/db.js:773:1
DB.prototype.getCollectionInfos@src/mongo/shell/db.js:785:19
DB.prototype.getCollectionNames@src/mongo/shell/db.js:796:16
shellHelper.show@src/mongo/shell/utils.js:754:9
shellHelper@src/mongo/shell/utils.js:651:15
@(shellhelp2):1:1

我們直接使用 show collections , 則報錯:not authorized on test to execute command ,意思是沒有權(quán)限。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
> use test
switched to db test
> db.createUser({
... user: "test",
... pwd: "test",
... roles: [
... { role: "readWrite", db: "test"}
... ]
... })
Successfully added user: {
 "user" : "test",
 "roles" : [
  {
   "role" : "readWrite",
   "db" : "test"
  }
 ]
}
>

然后我們使用 db.auth(“test”, “test”) , 再執(zhí)行命令 則沒有報錯

?
1
2
3
4
> db.auth("test", "test")
1
>
> show collections

試著寫入一條數(shù)據(jù),也是正常的。

?
1
2
3
4
5
> db.t.insert({name:"buzheng"});
WriteResult({ "nInserted" : 1 })
> db.t.find();
{ "_id" : ObjectId("58786c84bf5dd606ddfe1144"), "name" : "buzheng" }
>

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

原文鏈接:https://buzheng.org/2017/20170114-mongodb-enable-access-control.html

延伸 · 閱讀

精彩推薦
  • MongoDB分布式文檔存儲數(shù)據(jù)庫之MongoDB分片集群的問題

    分布式文檔存儲數(shù)據(jù)庫之MongoDB分片集群的問題

    這篇文章主要介紹了分布式文檔存儲數(shù)據(jù)庫之MongoDB分片集群的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋...

    Linux-18743072020-12-20
  • MongoDBMongoDB 內(nèi)存使用情況分析

    MongoDB 內(nèi)存使用情況分析

    都說 MongoDB 是個內(nèi)存大戶,但是怎么知道它到底用了多少內(nèi)存呢...

    MongoDB教程網(wǎng)10002020-09-29
  • MongoDBmongodb基本命令實(shí)例小結(jié)

    mongodb基本命令實(shí)例小結(jié)

    這篇文章主要介紹了mongodb基本命令,結(jié)合實(shí)例形式總結(jié)分析了MongoDB數(shù)據(jù)庫切換、查看、刪除、查詢等基本命令用法與操作注意事項(xiàng),需要的朋友可以參考下...

    dawn-liu3652020-05-26
  • MongoDB遷移sqlserver數(shù)據(jù)到MongoDb的方法

    遷移sqlserver數(shù)據(jù)到MongoDb的方法

    這篇文章主要介紹了遷移sqlserver數(shù)據(jù)到MongoDb的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下...

    聽楓xl9682021-01-03
  • MongoDBMongoDB安裝圖文教程

    MongoDB安裝圖文教程

    這篇文章主要為大家詳細(xì)介紹了MongoDB安裝圖文教程,分為兩大部分為大家介紹下載MongoDB和安裝MongoDB的方法,感興趣的小伙伴們可以參考一下 ...

    Yangyi.He6132020-05-07
  • MongoDBMongoDB中javascript腳本編程簡介和入門實(shí)例

    MongoDB中javascript腳本編程簡介和入門實(shí)例

    作為一個數(shù)據(jù)庫,MongoDB有一個很大的優(yōu)勢——它使用js管理數(shù)據(jù)庫,所以也能夠使用js腳本進(jìn)行復(fù)雜的管理——這種方法非常靈活 ...

    MongoDB教程網(wǎng)6982020-04-24
  • MongoDBMongoDB憑什么躋身數(shù)據(jù)庫排行前五

    MongoDB憑什么躋身數(shù)據(jù)庫排行前五

    MongoDB以比去年同期超出65.96分的成績繼續(xù)雄踞榜單前五,這個增幅在全榜僅次于PostgreSQL的77.99,而其相對于4月份的6.10分的增長也是僅次于微軟SQL Server排名...

    孫浩峰3892020-05-22
  • MongoDBMongodb實(shí)現(xiàn)定時備份與恢復(fù)的方法教程

    Mongodb實(shí)現(xiàn)定時備份與恢復(fù)的方法教程

    這篇文章主要給大家介紹了Mongodb實(shí)現(xiàn)定時備份與恢復(fù)的方法教程,文中通過示例代碼介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面...

    chenjsh364522020-05-13
628
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 精品久久久久久久久久久久久久久久久久 | 日韩午夜电影 | 91久久久久久久久久 | 国产精品久久久久久久久久久新郎 | 久久精品99 | 一级在线观看视频 | 精品久久久久久久久久 | 日韩电影免费在线观看中文字幕 | 中文字幕一区二区三区乱码图片 | 视频专区一区二区 | 精品久久久久国产 | 一级片黄片毛片 | 激情视频日本 | 色综合88| 精品国产一区二区三区四区 | 在线日韩一区 | 中文字幕一区二区三区精彩视频 | 亚洲综合二区 | 999精品在线| 免费成人在线观看 | 羞羞视频在线看 | 日本高清视频在线播放 | 国产精品久久久久精 | 中国大陆高清aⅴ毛片 | 精品在线一区二区 | 亚洲国产精品一区二区第一页 | 久久丝 | 国产精品欧美一区二区三区不卡 | 91电影在线| 久久99深爱久久99精品 | 久久久久久久免费观看 | 亚洲视频精品在线观看 | 亚洲一区二区三 | 久久国产精品免费一区二区三区 | 久久久久久久国产视频 | 欧美一区二区日韩一区二区 | 国产视频一区二区在线 | 秋霞午夜 | 国产精品久久久久久久久久免费看 | 亚洲 欧美 日韩在线 | 毛片色|