Skip to content

몽고디비 사용자 권한 설정 방법

박재윤 edited this page Nov 24, 2020 · 4 revisions

몽고디비 권한설정

관리자 만들기

맨 처음에 mongodb를 실행하면 관리자 계정이 없기 때문에 관리자 계정을 만들어준다.

> use admin
> db.createUser({
    user: 'username',
    pwd: 'password',
    roles: ['userAdminAnyDatabase']
})

데이터베이스 유저 만들기

데이터 베이스로 들어간 후에 사용자를 만든다.

> use dbname
> db.createUser({
    user: 'username',
    pwd: 'password',
    roles: ['dbOwner']
})

roles

roles 공식문서

몽고디비 서버 실행

서버에서 service를 이용해서 background로 실행할 때 auth 옵션이 잘 되지 않았다. /lib/systemd/system/system/mongodb.service 파일을 보면 /etc/mongodb.conf 파일을 config 파일로 삼아서 실행을 시키도록 되어있고 /etc/mongodb.conf 파일에서 auth=true가 설정이 되어 있음에도 몽고디비를 service를 이용해서 실행을 시키면 authentication이 설정이 안 되어 있는 상태에서 실행이 되는 문제가 있었다. 따라서 service를 사용하지 않고 --fork를 이용해서 백그라운드로 실행을 시켜주었다. --fork를 사용하면 daemon으로 실행된다. daemon은 메모리상에 있으면서 특정 요청이 오면 즉시 대응 할 수 있도록 대기중인 프로세스를 말한다

mongod --fork --logpath=/var/log/mongodb/mongodb.log --auth

서버 끝내기

mongod --shutdown

유저 로그인

mongo --port 27017 -u "username" -p "****" --authenticationDatabase "dbname"
Clone this wiki locally