Linux ver Centos7
[ethank@ethanklocked etc]$ cat <<EOF> /etc/yum.repos.d/mongodb-org-5.0.repo
[mongodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc
EOF
[ethank@ethanklocked etc]$ yum install -y mongodb-org
[ethank@ethanklocked etc]$ systemctl start mongod
...
[ethank@ethanklocked etc]$ systemctl status mongod
...
[ethank@ethanklocked etc]$ mongo
MongoDB shell version v5.0.8
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("f244a546-179e-4fab-ab2a-4da5838b6510") }
MongoDB server version: 5.0.8
================
Warning: the "mongo" shell has been superseded by "mongosh",
which delivers improved usability and compatibility.The "mongo" shell has been deprecated and will be removed in
an upcoming release.
...
//root 유저 생성
> use admin
switched to db admin
> db.createUser({user:"admin",pwd:<password>,roles:["root"]})
Successfully added user: {
"user" : "admin",
"roles" : ["root"]
}
//테스트 DB ROLE 생성
> use testDb
> db.createRole({role:"test_role", privileges:[],roles:[{role:"readWrite", db:"testDb"}]})
{
"role" : "test_role",
"privileges" : [ ],
"roles" : [
{
"role" : "readWrite",
"db" : "testDb"
}
]
}
//테스트 DB 사용자계정 생성
> db.createUser({user:"test_dev",pwd:"password",roles:[{role:"test_role", db:"testDb"}]})
Successfully added user: {
"user" : "test_dev",
"roles" : [
{
"role" : "test_role",
"db" : "testDb"
}
]
}
[ethank@ethanklocked etc]$ vi /etc/mongod.conf
//security 옵션 추가
...
security:
authorization: enabled
...
//데몬 재시작
[ethank@ethanklocked etc]$ systemctl restart mongod
//재접속
[ethank@ethanklocked etc]$ mongo -u "admin" -p "password" --authenticationDatabase "admin"
...
[ethank@ethanklocked etc]$ mongo -u "test_dev" -p "password" --authenticationDatabase "admin"