MongoDB 開始認證功能
1. 先建立 auth 資料庫的使用者
$ mongo> use admin> db.createUser(... {... user: "你的帳號",... pwd: "你的密碼",... roles: [ { role: "userAdminAnyDatabase", db: "admin"} ]... }... )
然後用下列指令測試看看進不進得去:
$ mongo admin -u “你的帳號” -p “你的密碼”
2. 切到目標資料庫建立使用者
root@localhost:~/misavo# mongo admin -u "你的帳號" -p "你的密碼"MongoDB shell version v3.6.5connecting to: mongodb://127.0.0.1:27017/adminMongoDB server version: 3.6.5> use 資料庫名稱switched to db 資料庫名稱> db.createUser({user: "你的帳號", pwd: "你的密碼", roles: ["dbOwner"]})Successfully added user: { "user" : "你的帳號", "roles" : [ "dbOwner" ] }> quit()
如果,只想讓某個帳號只有讀取的權限,那就用下面的這個方式來新增帳號。
db.addUser(“guest”,”123",true)
3. 以資料庫使用者身分進入該資料庫
root@localhost:~/misavo# mongo misavo -u "你的帳號" -p "你的密碼"MongoDB shell version v3.6.5connecting to: mongodb://127.0.0.1:27017/misavoMongoDB server version: 3.6.5> db.表格.find(){ "_id" : "9af4acebe6d5110f7a24e123460756", ...
這樣就完成為資料庫加上安全密碼的功能了!
4. 啟動有密碼保護的 MongoDB server
方法1: 使用指令啟動
mongod --auth
方法 2 : 使用 service
MongoDB 在 ubuntu 中的設定檔通常放在 /etc/mongodb.conf 底下
請編輯該檔案,加入下列描述:
security: authorization: enabled
然後使用下列指令啟動 mongod
$ sudo service mongod start