[toc]
docker 運(yùn)行時(shí)啟動(dòng)授權(quán)模式
docker 運(yùn)行時(shí)加上 環(huán)境變量MONGO_INITDB_ROOT_USERNAME 和MONGO_INITDB_ROOT_PASSWORD 會(huì)自動(dòng)啟動(dòng)授權(quán)
docker run -d --name my_mongo -v /var/lib/mongo:/data/db -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=your_user -e MONGO_INITDB_ROOT_PASSWORD=your_password mongo:3.4-jessie
mongo db 的權(quán)限自動(dòng)設(shè)置
mongo 每個(gè)db都有自己獨(dú)立的權(quán)限設(shè)置,如果需要給所有的db 都加上讀寫權(quán)限胯努,該如何設(shè)置呢东臀?
在 admin db上添加用戶,并賦予讀寫所有db的權(quán)限.
如下所示 創(chuàng)建了兩個(gè)用戶,一個(gè)是只讀用戶龄广,一個(gè)是讀寫用戶
db.createUser(
{
user: "reader",
pwd: "xxxxxx",
roles: [ { role: "readAnyDatabase", db: "admin" } ]
}
)
db.createUser(
{
user: "readWriter",
pwd: "xxxxxx",
roles: [ { role: "readWriteAnyDatabase", db: "admin" } ]
}
)
將以上腳本保存為mongo_users.js 可以自動(dòng)化執(zhí)行添加用戶操作:
mongo mongo_server_ip:27017/admin mongo_users.js -u "your_user" -p "your_admin" --authenticationDatabase "admin"
參考
[docker mongo] https://hub.docker.com/_/mongo/
[mongo db文檔](https://docs.mongodb.com/manual/reference/method/db.createUser/)