이번에는 MongoDB의 사용자 생성과 관리 그리고 보안 솔루션에 대한 기능을 알아 보도록 보겠습니다.

   

C:\MongoDB\bin> mongo

connecting to: test

>

> use admin

switched to db admin

>

> db.addUser("system", "manager")                 Admin 계정을 생성한다,

>

> db.auth("system", "manager")                        정상 접속 가능여부 확인한다.

1                                                       1 : 인증완료, 0 : 인증거부

>

   

> use mdb

switched to db mdb

>

> db.addUser("scott", "tiger")                        일반 사용자 계정을 생성한다.

{

        "updatedExisting" : true,

        "n" : 1,

        "connectionId" : 3,

        "err" : null,

        "ok" : 1

}

{

        "_id" : ObjectId("4f0ad6c45f4bc8c840d394bd"),

        "user" : "scott",

        "readOnly" : false,

        "pwd" : "0cbd24414b7e463fdaaec5ec64f3982f"

}

>

> db.auth("scott","tiger")                            정상 접속 가능여부 확인한다.

1                                                       1 : 인증완료, 0 : 인증거부

>

> use admin

> db.addUser("system", "m");              암호를 변경할 때도 addUser 메소드를 사용한다,

{

        "updatedExisting" : true,

        "n" : 1,

        "connectionId" : 3,

        "err" : null,

        "ok" : 1

}

{

        "_id" : ObjectId("4f0ad79ecd6d91a4c677b86c"),

        "user" : "system",

        "readOnly" : false,

        "pwd" : "8a8028d361e4d113238a8dd1f1fe10a6"

}

> exit

   

   

다음은 사용자 인증이 가능하도록 MongoDB를 재 시작하고 다시 인증 여부를 확인해 보겠습니다.

주의 사항은 MongoDB 구동 시 반드시 -–auth  파라메터를 이용하여 시작하셔야 합니다.

   

C:\MongoDB\bin> mongod --dbpath=d:\test\db1 –-auth         

   

Sun Jan 29 16:36:37 [initandlisten] MongoDB starting : pid=7968 port=27017

dbpath=d:\test\db1 64-bit host=PLAN

Sun Jan 29 16:36:37 [initandlisten] db version v2.0.2, pdfile version 4.5

Sun Jan 29 16:36:37 [initandlisten] git version: 514b122d308928517f5841888ceaa4246a7f18e3

Sun Jan 29 16:36:37 [initandlisten] build info: windows (6, 1, 7601, 2, 'Service Pack 1') BOOST_LIB_VERSION=1_42

Sun Jan 29 16:36:37 [initandlisten] options: { auth: true, dbpath: "d:\test\db1" }

Sun Jan 29 16:36:37 [initandlisten] journal dir=d:/test/db1/journal

   

   

C:\MongoDB\bin> mongo

MongoDB shell version: 2.0.2

connecting to: test

>

> use mdb

switched to db mdb                 

>

> show collections                    인증이 확인되지 않았기 때문에 에러 발생

Sun Jan 29 16:39:09 uncaught exception: error: {

        "$err" : "unauthorized db:mdb lock type:-1 client:127.0.0.1",

        "code" : 10057

}

>

> db.auth("scott", "tiger")

1

>

> show collections                    인증 완료되었기 때문에 정상적인 데이터 조회 가능

category

employees

order

product

s_ord

system.indexes

system.users

>

> exit

   

C:\MongoDB\bin> mongo --username scott --password tiger1  mdb   명령어 방법으로 접속시도

MongoDB shell version: 2.0.2

connecting to: mdb

Tue Jan 10 21:48:05 uncaught exception: login failed

exception: login failed                                 잘못된 암호 입력으로 접속 실패

   

c:\MongoDB\bin>

c:\MongoDB\bin>mongo --username scott --password tiger  mdb

MongoDB shell version: 2.0.2

connecting to: mdb

>                                                       정상 암호 입력으로 접속 성공

> db.removeUser("scott");                               사용자 계정을 삭제한다.

>

> show users

{

        "_id" : ObjectId("4f0ad79ecd6d91a4c677b86c"),

        "user" : "system",

        "readOnly" : false,

        "pwd" : "8a8028d361e4d113238a8dd1f1fe10a6"

}

'IT노트 > MongoDB' 카테고리의 다른 글

2장. MongoDB의 시작과 종료  (0) 2015.03.16
10월10일 빅데이터교육  (0) 2015.03.16
mongoDB 자료 게시판 목록  (0) 2015.02.03
2장. MongoDB의 시작과 종료  (0) 2015.02.03
1장. NoSQL과 MongoDB 개념  (0) 2015.02.03
Posted by wychoi
,