mongodb的使用者認證

2021-06-25 16:03:17 字數 2819 閱讀 5738

mongodb預設是不認證的,預設沒有賬號,只要能連線上服務就可以對資料庫進行各種操作,mongodb認為安全最好的方法就是在乙個可信的環境中執行它,保證之後可信的機器才能訪問它,可能這些對一些要求高的環境,安全還不夠

mongodb提供使用者認證,需要在啟動時加上--auth開啟認證

認證前需要新增賬號

新增管理員賬號:

預設情況下系統中沒有使用者

> use admin       --切換到admin庫

switched to db admin

> db.system.users.find();

>  db.adduser("super","super") --新增超級使用者

warning: the 'adduser' shell helper is deprecated. please use 'createuser' inste

adsuccessfully added user:

> db.system.users.find(); --查詢新增的使用者

, "roles" : [ ] }

>

新增普通賬號:

> use test    --切換到test庫新增普通使用者

switched to db test

> db.adduser("test","test")

warning: the 'adduser' shell helper is deprecated. please use 'createuser' inste

adsuccessfully added user:

新增唯讀賬號:

> db.adduser("readonly","readonly",true)  --新增唯讀使用者

warning: the 'adduser' shell helper is deprecated. please use 'createuser' inste

adsuccessfully added user:

>

查詢剛剛新增的所有使用者:

> use admin

switched to db admin

> db.system.users.find();

, "roles" : [ ] }

, "roles" : [ ] }

, "roles" : [ ] }

, "roles" : [ ] }

, "roles" : [ ] }

>

驗證安全認證:

> use admin

switched to db admin

> show dbs   --沒有認證檢視資料庫報錯

2014-09-14t13:28:45.953+0800 listdatabases failed:",

"code" : 13

} at src/mongo/shell/mongo.js:47

>

> db.auth("super","super")  ---認證後再次檢視ok

1> show dbs

admin    0.078gb

local    0.078gb

test     0.078gb

wangwei  0.078gb

>

普通使用者認證

> show dbs   --沒有認證檢視資料

2014-09-14t13:31:19.265+0800 listdatabases failed:",

"code" : 13

} at src/mongo/shell/mongo.js:47

> db.auth("test","test")

1> show dbs  --認證後檢視資料庫還報錯,原因這個使用者屬於test不屬於admin

2014-09-14t13:33:30.062+0800 listdatabases failed:",

"code" : 13

} at src/mongo/shell/mongo.js:47

>

e:\mongodb\bin>mongo 127.0.0.1:27019

mongodb shell version: 2.6.4

connecting to: 127.0.0.1:27019/test

> db.mycol.insert()  --沒有認證情況插入文件失敗

writeresult(

], ordered: true }"}})

> db.auth("test","test")   --認證後插入文件成功

1> db.mycol.insert()

writeresult()

>

唯讀使用者認證

e:\mongodb\bin>mongo 127.0.0.1:27019

mongodb shell version: 2.6.4

connecting to: 127.0.0.1:27019/test

> db.mycol.find()  --沒有認證查詢失敗

error:

> db.auth("readonly"."readonly")

2014-09-14t13:38:16.265+0800 syntaxerror: unexpected string

> db.auth("readonly","readonly")

1> db.mycol.find()  --認證後查詢成功

>

> db.mycol.insert()  --唯讀認證後,插入文件失敗,原因使用者是唯讀的

writeresult( ], ordered: true }"}})

>

MongoDB的使用者 認證和許可權

開啟mongodb服務時不新增任何引數時,預設是沒有許可權驗證的,登入的使用者可以對資料庫任意操作而且可以遠端訪問資料庫!在剛安裝完畢的時候mongodb都預設有乙個admin資料庫,此時admin資料庫是空的,沒有記錄許可權相關的資訊!當admin.system.users乙個使用者都沒有時,即使...

mongodb安裝 認證 新增使用者

1 建立mongdb安裝路徑 mkdir usr local mongodb 3 解壓到 usr local mongodb tar zxvf mongodb linux x86 64 4.0.0 rc7.tgz c usr local mongodb 4 重新命名 mv mongodb linux...

MongoDB增加使用者認證 增加使用者 刪

mongodb增加使用者認證 增加使用者 刪除使用者 修改使用者密碼 讀寫許可權 唯讀許可權 說明 增加使用者是針對 資料庫進行操作 www.2cto.com 1.進入到資料庫 use dbname 2.針對當前資料庫新增使用者 許可權是針對當前資料 1.新增並驗證使用者 use admin db....