꾸물꾸물 졔의 개발공부
MongoDB - 사용자 추가 및 인증 추가 본문
- Ubuntu 20.04 LTS
MongoDB - Ubuntu 20.04 설치
Ubuntu 20.04 LTS 1. MongoDB public GPG key $ wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add - 다음 명령어를 통해 public key 를 불러온다. ubuntu 패스워드를 입력하는 창이 나오지만, 나는 root 계
jiko1456.tistory.com
$ mongo 로 실행되는 MongoDB 는 다른 RDB와 달리 별도의 인증절차를 진행하지 않는다.
이러한 이유 때문에 몽고디비는 되도록이면 보안에 문제가 되지 않는 환경에서 보안모델 없이 진행하지만, 다양한 보안 문제가 발생할 수 있기 때문에 ID-PW 로 인증과정을 추가하였다.
MongoDB 에 접속
$ mongo
mongo에 접속하게 되면, 별도의 보안 모델이 없는 MongoDB server 를 실행하게 된다.
MongoDB의 'admin' 데이터베이스에 사용자 추가
> use admin
> db.createUser({
user:'username',
pwd:'password',
roles:['root']
})
db.createUser 명령어를 통해 현재 데이터베이스에 사용자를 추가.
사용자명, 비밀번호, 권한(array 형태) 를 정의하는데, 모든 권한을 가지게 하기위해 root 권한을 주었다.
설정파일 변경
mongod 실행시, /etc/mongod.conf 의 conf 파일을 읽어들여 실행되는데, 보안설정을 위해 해당 파일을 수정하여야 한다.
$ sudo vi /etc/mongod.conf
관리자모드로 해당 파일 편집기를 연다. ( vi 명령어 )
#security:
security:
authorization: 'enabled'
# security 부분을 authorization: 'enabled' 로 변경하고, :wq로 저장하고 나온다.
MongoDB를 재시작하고 $mongo 로 접속 ( * user명을 o2a4 로 지정하였다. )
$ sudo systemctl restart mongod
> use o2a4
> show databases
- 다음 명령어를 입력하면 databases 의 목록을 보여주지 않는다.
- 보안 설정을 하였기 때문에 비밀번호 입력을 하여 mongo 에 접속해야 한다.
- 비밀번호 입력하여 mongo 접속
$ mongo -u o2a4 -p password
> show databases
- $ mongo -u o2a4 -p password
- username 과 password 를 입력하여 mongod 에 접속하고 show databases
보인다 !!!
+ 추가
위의 방법은 mongo 쉘에 접속하는 동시에 인증을 거치는 것이다.
또 하나의 방법은 쉘에 접속한 후에 db.auth() 로 인증을 거치는 것이다.
$ mongo
> use admin
> db.auth('username','password')
1
admin 데이터베이스에 만든 사용자 이기 때문에 admin 에 접근한 후, db.auth 에 사용자명과 비밀번호를 넣는다.
1이 나오면 인증 성공 ( 0은 실패 )
'Database > MongoDB' 카테고리의 다른 글
[MongoDB] 샤딩(Sharding)이란 (0) | 2023.05.12 |
---|---|
Springboot에서 MongoDB 연동 (0) | 2022.11.24 |
MongoDB - MongoDB Compass 설치 및 연결 (0) | 2022.11.24 |
MongoDB - Ubuntu 20.04에 MongoDB설치 (0) | 2022.11.24 |