以下情境為單機模式
port: tcp/27017
資料庫路徑: /var/lib/mongodb
1. 在shell 啟動一個mongod 服務
# mongod --port 27017 --dbpath /var/lib/mongodb
2. 另開一個shell 登入mongodb,預設沒有認證功能,直接登入
# mongo --port 27017
3. 在mongo shell 新增資料庫管理員
> use admin
db.createUser(
{
user: "myUserAdmin",
pwd: passwordPrompt(), // or cleartext password
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
}
)
4. 停用並重啟mongodb 時加入 --auth 參數
> db.adminCommand( { shutdown: 1 } )
# mongod --auth --port 27017 --dbpath /var/lib/mongodb
如果是呼叫設定檔,請在設定檔加入以下參數
security:
authorization: enabled
5. 測試用資料庫管理員帳號登入
# mongo --port 27017 --authenticationDatabase "admin" -u "myUserAdmin" -p
6. 新增一般使用者
> use test
db.createUser(
{
user: "myTester",
pwd: passwordPrompt(), // or cleartext password
roles: [ { role: "readWrite", db: "test" },
{ role: "read", db: "reporting" } ]
}
)
7. 測試一般使用者登入
# mongo --port 27017 -u "myTester" --authenticationDatabase "test" -p
8. 測試新增資料
> db.foo.insert( { x: 1, y: 1 } )
參考資訊
https://docs.mongodb.com/manual/tutorial/enable-authentication/
全站熱搜
留言列表