最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

Mongodb的安全性設定:帳戶設定、登入IP設定

来源:懂视网 责编:小采 时间:2020-11-09 13:32:20
文档

Mongodb的安全性設定:帳戶設定、登入IP設定

Mongodb的安全性設定:帳戶設定、登入IP設定:預設情況下Mongodb是沒有任何防護的,不需要任何帳號就可以遠端登入,如果要用它來寫程式其實是很危險的,所以在這篇文章中,我會教大家如何幫Mongodb加入帳戶的設定,變成需要帳號密碼才能登入,然後也會教大家設定登入的IP限制 官方教學:http://w
推荐度:
导读Mongodb的安全性設定:帳戶設定、登入IP設定:預設情況下Mongodb是沒有任何防護的,不需要任何帳號就可以遠端登入,如果要用它來寫程式其實是很危險的,所以在這篇文章中,我會教大家如何幫Mongodb加入帳戶的設定,變成需要帳號密碼才能登入,然後也會教大家設定登入的IP限制 官方教學:http://w

詳細說明:

1.連線進入mongod server之後,進入admin資料庫

mongo

use admin

2.新增最高權限用戶

db.addUser(‘username’,’passwd’,’readOnly’)

說明:

db.addUser這個命令就是增加用戶用的,第一個參數username就是帳號,第二個參數passwd是密碼,第三個參數比較特別,他可以設定此帳號的權限是否是唯讀的,設為1則是唯讀,設為0則是非唯讀,也就是可以寫入資料,預設是非唯讀

另外需注意大小寫有差,另外帳號跟密碼要用單引號框住以視為字串

範例:

db.addUser(‘root’,’0000′,1) ? ? //帳號root,密碼0000,權限是唯讀(只能讀、不能寫入)

3.再來,就可以去幫其他資料庫新增用戶,例如幫test資料庫增加一個「root_test」用戶

不過在幫其他資料庫建立用戶之前,必須先登入到有資格儲存資料的用戶(Not ReadOnly),以目前來講,只有最高權限,所以就登入到最高權限的帳戶,才能幫其他資料庫建立用戶

use admin ? ?//要登入最高權限,都必須切換到admin資料庫

db.auth(‘root’,’0000′)

use test ? ? ? //切換到test db

db.addUser(‘root_test’,’0000′)

說明:db.auth就是登入用的命令,第一個參數是帳號,第二個參數是密碼

※另外請大家注意,在Mongodb裡面, 用戶的新增是「沒有全域性的」,也就是說你在testA資料庫增加了一個root帳號,你也可以在testB新增一個root帳號,這也就是為何登入最高權限時,要先切換到admin資料庫,因為最高權限的帳號是屬於admin資料庫的,只不過系統設定admin資料庫的帳號有最高權限

4.如此,就算是啟動帳戶保護了,你可以在去幫其他資料庫設定帳戶,之後連線進來時,看你要使用哪個資料庫,就先切換進入該資料庫,然後再做登入即可

5.如果你想要刪除掉某個資料庫的某個用戶,先切換到該資料庫,然後再刪除他即可,例如,刪除test db的root_test用戶(需要是登入狀態,可以修改資料)

use test

db.removeUser(‘root_test’)

如果要檢視該資料庫目前擁有的帳戶有哪些,可以輸入db.system.users.find()

這是因為所有帳戶資料,都存在system.users這個Collection裡面

總結:前面講的有點紛亂,這邊做個結語,簡而言之,要讓Mongodb能夠有帳戶保護的功能,你必須先新增一組最高權限的帳戶,而所謂最高權限,就是在admin資料庫建立的帳戶就是最高權限,建立完此組帳戶之後,要記得先登入最高權限,然後再去幫個別資料庫新增用戶,另外Mongodb裡面的用戶沒有全域性,A資料庫的用戶是屬於A的,B資料庫的用戶是屬於B的,所以在登入、刪除用戶時,都必須要切換到正確的資料庫,例如A、 B都有root這個帳號,我要刪除A資料庫的test,就要先use A,然後再db.removeUser(‘root’)才可以,不然可能會刪錯資料庫的用戶,或者我要登入的是B資料庫的root,那我就要先切換到B資料庫在登入,如果我在A資料庫輸入db.auth(),那我登入到的其實是A資料庫的帳戶,是不能存取B資料庫的資料的!

還有第一次幫一般資料庫(非admin db)建立用戶時,需要先登入admin資料庫的用戶(也就是最高權限),登入之後才可以新增「第一筆」用戶資料,但是當一般資料庫有了第一筆用戶資料時,你就可以直接登入該筆用戶,然後做新增用戶的動作,而不需要登入到最高權限,這是因為在第一次建立用戶時,該資料庫裡面沒有任何用戶具有存取的權限,除了最高權限,然而addUser其實是把用戶資料寫進指定資料庫的Collection裡面,所以必須先登入最高權限,獲得寫入的權力以後,才能新增用戶。

登入IP設定

在Mongodb裡面,你可以設定所謂的白名單,也就是說只有指定的IP才能連線到Mongod Server

設定上很簡單,只要在啟動mongod時,加入參數–bind_ip就可以了,例如我要限制只有本機可以登入,則啟動mongod時的命令是:

mongod –bind_ip 127.0.0.1

不過目前還在研究能不能綁定多個IP,目前的操作方式只能指定一個IP做白名單…

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

Mongodb的安全性設定:帳戶設定、登入IP設定

Mongodb的安全性設定:帳戶設定、登入IP設定:預設情況下Mongodb是沒有任何防護的,不需要任何帳號就可以遠端登入,如果要用它來寫程式其實是很危險的,所以在這篇文章中,我會教大家如何幫Mongodb加入帳戶的設定,變成需要帳號密碼才能登入,然後也會教大家設定登入的IP限制 官方教學:http://w
推荐度:
标签: 安全 登录 ip
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top