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....