이번에는 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 |