mongodb 3.0์์ ๊ตฌ๋ฒ์ ํด๋ผ ์ ์
TL;DR
admin.system.version ์ปฌ๋ ์ ์ authSchema๋ฅผ 3์ผ๋ก ๋ฎ์ถ๋ค.
์ ์ฐจ
์ธ์ฆ ํด์ ํ ์ฌ์์
๋ค์๊ณผ ๊ฐ์ด ์ธ์ฆ์ ๋๊ณ ์๋ฒ๋ฅผ ์ฌ์์. ์ธ์ฆ ์๋๋ฉด system.version ์ปฌ๋ ์ ์ ์์ ๊ฑด๋๋ฆด ์ ์๋ค.
security: # keyFile: "/data/key/keyfile" authorization: "disabled"
์คํค๋ง ๋ฒ์ ๋ณ๊ฒฝ, ์ฌ์ฉ์ ์์ฑ
admin.system.version ์ปฌ๋ ์ ์ authSchema ํญ๋ชฉ์ ๋ณ๊ฒฝํ ๋ค์ ์ฌ์ฉ์๋ฅผ ์์ฑํ๋ค.
use admin; // Use MongoDB 2.6 auth schema (default auth mechanism: MONGODB-CR) db.system.version.save({ "_id" : "authSchema", "currentVersion" : 3 }); db.createUser( { user: "root2", pwd: "root2", roles: [ "root" ] } );
์ด๋ ๊ฒ ์์ฑ๋ ์ ์ ๋ ๋ค๋ฅด๊ฒ ๋ณด์ด๊ฒ ๋๋ค.
db.system.users.find() { "_id" : "admin.root", "user" : "root", "db" : "admin", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "M5DcpS5ns+skpfY3zrssKA==", "storedKey" : "7Ekup4Ifxtnfi97OMR6cqov+35U=", "serverKey" : "5nIHY/RcdjTLu+4p84XLNjuRhkA=" } }, "roles" : [ { "role" : "root", "db" : "admin" } ] } { "_id" : "admin.root2", "user" : "root2", "db" : "admin", "credentials" : { "MONGODB-CR" : "359a1cb5090b2b65bc64c47ef5b38b24" }, "roles" : [ { "role" : "root", "db" : "admin" } ] }
์๋ณต
์ธ์ฆ ์์ฐ๊ณ ์ด๊ธฐ๋ ์ข ๊ทธ๋ฌ๋๊น ์์์ ์์ ํ config ๋ณ๊ฒฝ์ ์๋๋๋ก ํ๊ณ ์ธ์คํด์ค ์ฌ์์.
๋น๊ณ
ver 3์ผ๋ก ๋ด๋ ค๋์ ์ํ์์๋ ver 5์ผ๋ ์์ฑํ ์ฌ์ฉ์๋ ์ ์์ ์ผ๋ก ์ ์๋๋ค
์ค๋ ํด๋ฌ์คํฐ ํ๊ฒฝ์ด๋ผ๋ฉด config db ์ธ ๋๋ฅผ ๋ชจ๋ ๊ณ ์ณ์ผ ์ ์ฉ๋ ๊ฒ์ด๋ค. ์๋น์ค๋ฅผ ์์ ๋ด๋ฆฌ๊ณ ์ธ ๋๋ฅผ ๋์์ ๊ณ ์น์ง ์๋๋ค๋ฉด ๋ฐ์ดํฐ ๋ถ์ผ์น ๋ฑ์ด ๋ฐ์ํ ์ ์์ด์ ์์ ์ด ์ข ํด ๊ฒ ๊ฐ์๋ฐ.. ํ์ด์ ๋น๋ค
ver 5๋ก ๋ค์ ์ฌ๋ ค๋ณด์ง๋ ์์๋ค (๊ท์ฐฎ์์) createUser ๋ช ๋ น ๋์ ๋ฐฉ์์๋ง ์ ์ฉ๋๋ ๊ฑฐ๋ผ๋ฉด ์๊ด ์๊ฒ ๊ฑฐ๋..
์ ์ด๋ ๋ณด์ ์ธก๋ฉด์์ SCRAM-SHA-1์ด ์ข์ ๊ฒ์ ๋ง๋ค
์ถ์ฒ
mongodb-user newsgroup, SERVER-17459


















