一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

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

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

服務(wù)器之家 - 數(shù)據(jù)庫 - MongoDB - MongoDB數(shù)據(jù)庫授權(quán)認(rèn)證的實(shí)現(xiàn)

MongoDB數(shù)據(jù)庫授權(quán)認(rèn)證的實(shí)現(xiàn)

2022-02-10 17:38Jiangxl~ MongoDB

本文主要介紹了MongoDB數(shù)據(jù)庫授權(quán)認(rèn)證的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

1.與用戶相關(guān)的命令

  • db.auth() 將用戶驗(yàn)證到數(shù)據(jù)庫。
  • db.changeuserpassword() 更改現(xiàn)有用戶的密碼。
  • db.createuser() 創(chuàng)建一個(gè)新用戶。
  • db.dropuser() 刪除單個(gè)用戶。
  • db.dropallusers() 刪除與數(shù)據(jù)庫關(guān)聯(lián)的所有用戶。
  • db.getuser() 返回有關(guān)指定用戶的信息。
  • db.getusers() 返回有關(guān)與數(shù)據(jù)庫關(guān)聯(lián)的所有用戶的信息。
  • db.grantrolestouser() 授予用戶角色及其特權(quán)。
  • db.removeuser() 已過時(shí)。從數(shù)據(jù)庫中刪除用戶。
  • db.revokerolesfromuser() 從用戶中刪除角色。
  • db.updateuser() 更新用戶數(shù)據(jù)。

2.配置mongodb登陸授權(quán)認(rèn)證

2.1.創(chuàng)建一個(gè)用戶

?
1
2
3
4
5
6
7
8
> use admin
> db.createuser(
{
   user: "admin",
   pwd: "123456",
   roles: [ { role: "root", db: "admin" } ]         //指定角色為root,表示管理員
}
> db.getusers()

MongoDB數(shù)據(jù)庫授權(quán)認(rèn)證的實(shí)現(xiàn)

2.2.修改配置文件啟用用戶認(rèn)證

?
1
2
3
[mongo@mongodb-1 ~]$ vim /data/mongodb_cluster/mongodb_27017/conf/mongodb.yml
security:
  authorization: enabled

2.3.重啟mongodb

?
1
2
3
4
5
6
[mongo@mongodb-1 ~]$ mongod -f /data/mongodb_cluster/mongodb_27017/conf/mongodb.yml --shutdown
killing process with pid: 17899
[mongo@mongodb-1 ~]$ mongod -f /data/mongodb_cluster/mongodb_27017/conf/mongodb.yml
about to fork child process, waiting until server is ready for connections.
forked process: 18511
child process started successfully, parent exiting

2.4.使用口令登陸mongodb

?
1
2
3
4
5
6
[mongo@mongodb-1 ~]$ mongo -uadmin -p123456
mongodb shell version v4.0.14
connecting to: mongodb://127.0.0.1:27017/?gssapiservicename=mongodb
implicit session: session { "id" : uuid("ae65176e-ac6b-4906-b621-496996381417") }
mongodb server version: 4.0.14
> show dbs

使用口令登陸后會(huì)發(fā)現(xiàn)最后一個(gè)警告信息也會(huì)消失

MongoDB數(shù)據(jù)庫授權(quán)認(rèn)證的實(shí)現(xiàn)

3.授權(quán)用戶并賦予多個(gè)權(quán)限

mongodb可以創(chuàng)建多個(gè)用戶并針對(duì)不同的庫進(jìn)行不同的操作

3.1.創(chuàng)建用戶并制造數(shù)據(jù)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
1.創(chuàng)建用戶
[mongo@mongodb-1 ~]$ mongo -uadmin -p123456
> db.createuser(
...   {
...     user: "mytest",
...     pwd: "123456",
...     roles: [ { role: "readwrite", db: "test" },     //可讀可寫
...              { role: "read", db: "test2" }   ]                  //可讀
...   }
... )
 
 
2.插入數(shù)據(jù)
test庫
> use test
> db.test.insert({"name":"xiaoming","age":10})
> db.test.insert({"name":"xiaohong","age":10})
> db.test.insert({"name":"xiaolan","age":10})
 
test2庫
> use test2
> db.test2.insert({"name":"jiangxl","job":"it","age":"99"})
> db.test2.insert({"name":"wanger","job":"it","age":"99"})

MongoDB數(shù)據(jù)庫授權(quán)認(rèn)證的實(shí)現(xiàn)

3.2.使用mytest登錄test庫驗(yàn)證權(quán)限

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
1.登錄mytest用戶并連接到tets庫
[mongo@mongodb-1 ~]$ mongo -umytest -p123456 192.168.81.210:27017/test
 
2.查看所有表
> show tables
hash
test
 
3.查看是否有讀權(quán)限
> db.test.find()
{ "_id" : objectid("602c73b5d9d09b9b700c9eb2"), "name" : "xiaoming", "age" : 10 }
{ "_id" : objectid("602c73bdd9d09b9b700c9eb3"), "name" : "xiaohong", "age" : 10 }
{ "_id" : objectid("602c73c1d9d09b9b700c9eb4"), "name" : "xiaolan", "age" : 10 }
 
4.查看是否有寫入權(quán)限
> db.test.insert({"name":"xiaozhang","age":10})
 
5.查看是否寫入成功
> db.test.find()
{ "_id" : objectid("602c73b5d9d09b9b700c9eb2"), "name" : "xiaoming", "age" : 10 }
{ "_id" : objectid("602c73bdd9d09b9b700c9eb3"), "name" : "xiaohong", "age" : 10 }
{ "_id" : objectid("602c73c1d9d09b9b700c9eb4"), "name" : "xiaolan", "age" : 10 }
{ "_id" : objectid("602c74f949b9d3f400ed866b"), "name" : "xiaozhang", "age" : 10 }

可讀可寫

MongoDB數(shù)據(jù)庫授權(quán)認(rèn)證的實(shí)現(xiàn)

3.3.使用mytest登錄test2庫驗(yàn)證權(quán)限

由于普通用戶只能登錄test庫因此想要切換其他庫,只能是登陸test庫后使用use進(jìn)行切換

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
1.登錄test庫
[mongo@mongodb-1 ~]$ mongo -umytest -p123456 192.168.81.210:27017/test
 
2.切換到tets2庫
> use test2
 
3.查看表
> show tables
test2
 
4.查看表中數(shù)據(jù)
> db.test2.find()
 
5.插入一條數(shù)據(jù),查看是否插入成功
> db.test2.insert({"name":"xiaozi","job":"it","age":"99"})
writecommanderror({
    "ok" : 0,
    "errmsg" : "not authorized on test2 to execute command { insert: \"test2\", ordered: true, lsid: { id: uuid(\"6203f7df-d8f8-4880-aab3-4db712ae785f\") }, $db: \"test2\" }",
    "code" : 13,
    "codename" : "unauthorized"
})

可以看到只能讀取,不能插入

MongoDB數(shù)據(jù)庫授權(quán)認(rèn)證的實(shí)現(xiàn)

到此這篇關(guān)于mongodb數(shù)據(jù)庫授權(quán)認(rèn)證的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)mongodb數(shù)據(jù)庫授權(quán)認(rèn)證內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/weixin_44953658/article/details/122185708

延伸 · 閱讀

精彩推薦
  • MongoDBMongoDB中javascript腳本編程簡(jiǎn)介和入門實(shí)例

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

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

    MongoDB教程網(wǎng)6982020-04-24
  • MongoDB遷移sqlserver數(shù)據(jù)到MongoDb的方法

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

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

    聽楓xl9682021-01-03
  • MongoDBMongoDB憑什么躋身數(shù)據(jù)庫排行前五

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

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

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

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

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

    chenjsh364522020-05-13
  • MongoDBmongodb基本命令實(shí)例小結(jié)

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

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

    dawn-liu3652020-05-26
  • MongoDB分布式文檔存儲(chǔ)數(shù)據(jù)庫之MongoDB分片集群的問題

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

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

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

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

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

    MongoDB教程網(wǎng)10002020-09-29
  • MongoDBMongoDB安裝圖文教程

    MongoDB安裝圖文教程

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

    Yangyi.He6132020-05-07
主站蜘蛛池模板: 97色资源 | 办公室出轨秘书高h | 母爱成瘾在线观看 | 国产日韩一区二区三区 | 日本高清无吗 | 国产在线影院 | 免费特黄一级欧美大片在线看 | 国产女主播福利在线 | 无码一区二区三区视频 | 青草国产福利视频免费观看 | 四虎影视免费 | jzzjzz视频免费播放 | 欧美高清在线精品一区二区不卡 | 亚洲免费小视频 | 海派甜心完整版在线观看 | 午夜影院小视频 | 韩日视频在线观看 | 99精品视频在线观看免费播放 | 日本理论片中文在线观看2828 | 国产里番 | 精品久久久噜噜噜久久7 | 欧美一区二区三区在线观看不卡 | 韩国男女做性全过程视频 | 国产综合亚洲专区在线 | 亚洲第一福利网 | 日韩国产欧美精品综合二区 | 久久这里只有精品视频e | 欧美午夜网站 | 国模丰满美女冰漪34d | 美女日b视频| 国产主播99 | 猛吸奶水的老汉 | 非洲黑人又大粗gay 非洲黑人bbwbbwbbw | 水蜜臀| 国产欧美综合精品一区二区 | 91传媒制片厂果冻有限公司 | 久久久久琪琪精品色 | 日本福利视频一区 | 小小水蜜桃视频高清在线观看免费 | 王晶三级作品 | 国内精品久久久久影院嫩草 |