MongoDB 安全性管理

摘要:MongoDB 安裝性管理

帳號管理:

http://www.mongodb.org/display/DOCS/Security+and+Authentication

http://jishus.org/?p=805

包含config檔之作法

http://www.snippetinfo.net/node/33

MONGODB & JAVA Login

http://www.mkyong.com/mongodb/java-authentication-access-to-mongodb/

//進入帳號管理資料庫

use admin

//新增使用者帳號

db.addUser("tomlai","abcd1234")

//登入

db.auth("tomlai","abcd1234")

//唯讀

db.adduser("guest","password",true)

刪除使用者

db.removeuser(username);

db.system.users.remove({user:username})

查詢有多少使用者

db.system.users.find();

 

//切換資料庫

use dbname

//資增該資料庫可使用者

db.addUser("tomlai","pwd")

 

 

山不轉,路轉,路不轉人轉,因為window,要在cmd下指令太麻煩了,所以我就寫了個批次檔,

另外要寫太多「--」的指令也太麻煩了,就參考上面的連結文章,另外建立一個config檔。

所以就會有mongo_start.bat如下

C:
cd C:\mongodb\bin
mongod -f C:\mongodb\bin\mongo.conf

而mongo.conf如下

# mongo.conf

rest = true
nojournal = true

#where to log
logpath=C:\mongodb\logs\mongo.log
logappend=true

#fork = true
port = 27017

dbpath=C:\data\db

#master=true
auth = true

#verbose = true
#replSet = your_replset

這樣就能啟動登入驗證模式,確保安全性,auth=true

 

然後再去開啟mongo.exe

直接輸入show dbs,就不給過了,

需要登入

use admin

db.auth(username,password)

show dbs,就可以了。

 

 

Ubuntu 

安裝

http://crashcourse.ca/content/getting-started-mongodb-under-ubuntu

 

修改設定檔

http://www.mongodb.org/display/DOCS/File+Based+Configuration

 

找到

 /etc/mongodb.conf

並將

#auth = true 改為 auth = true

#nohttpinterfae = true 改為 nohttpinterfae = true

#noscripting = true 改為 noscripting = true

重開mongodb

sudo  restart mongodb

JAVA


Mongo mongo = new Mongo("localhost");
DB db = mongo.getDB("db_name");
boolean auth = db.authenticate("username","password".toCharArray());