Skip to content

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

박재윤 edited this page Dec 10, 2020 · 4 revisions

몽고디비 권한설정

몽고비디 시작 명령어

서비스 정지

systemctl stop mongodb

서비스 시작

systemctl start mongodb

서비스 재시작

systemctl restart mongodb

서버 부팅시 자동 재시작 설정

systemctl enable mongodb

서버 부팅시 자동 재시작 금지

systemctl disable mongodb

관리자 만들기

맨 처음에 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