mongo에서 수퍼유저 만들기
저는 mongo에서 어떤 db에서도 무엇이든 할 수 있는 사용자를 만들려고 합니다.
가이드에 따라 새 관리자를 생성했습니다. http://docs.mongodb.org/manual/tutorial/add-user-administrator
코드는 다음과 같습니다.
use admin
db.addUser( { user: "try1",
pwd: "hello,
roles: [ "userAdminAnyDatabase" ] } )
그런 다음 mongo를 중지하고 인증을 활성화한 다음 mongo를 다시 시작했습니다.
그런 다음 그의 사용자와 데이터베이스를 작성하려고 했습니다.
이 가이드에 따라 http://www.mkyong.com/mongodb/how-to-create-database-or-collection-in-mongodb/ .
use fragola
db.users.save( {username:"fragolino"} )
그리고 "fragola.users에 대한 삽입 권한이 없습니다"라는 메시지가 나타납니다.
누가 나를 도와줄 사람?
from docs.mongodb.org -superuser-messages
간단한 것처럼 보이는 답변을 작성하고 구현하기도 쉽습니다.
단계:
1 :sudo apt-get install mongodb-org
새 터미널에서
2 :sudo mongod --port 27017 --dbpath /var/lib/mongodb
3 :mongo --port 27017
새 터미널에서
4 :use admin
5: @drmirror가 말했듯이 슈퍼유저가 되려면 4가지 역할이 모두 있어야 합니다.
Mongo Version 2.
db.createUser(
{
user: "tom",
pwd: "jerry",
roles: [
{ role: "userAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" },
{ role: "dbAdminAnyDatabase", db: "admin" },
{ role: "clusterAdmin", db: "admin" }
]
})
Mongo Version 3.
db.createUser(
{
user: "tom",
pwd: "jerry",
roles:["root"]
})
6 :sudo /etc/init.d/mongod stop
ORsudo service mongod stop
새 터미널에서
7 :sudo /etc/init.d/mongod start
ORsudo service mongod start
8 :restart your pc
9 :sudo mongod --auth --port 27017 --dbpath /var/lib/mongodb
새 터미널에서
10:mongo --port 27017 -u "tom" -p "jerry" --authenticationDatabase "admin"
새 터미널에서
참고: 10단계가 가장 중요한 단계입니다.
터미널에서 출력을 제공합니다.
MongoDB shell version: 2.6.11
connecting to: 127.0.0.1:27017/test
>
역할userAdminAnyDatabase
사용자는 사용자를 생성하고 임의 역할을 할당할 수 있습니다.따라서 해당 사용자는 자신을 포함한 모든 사용자에게 권한을 부여할 수 있으므로 데이터베이스에서 모든 작업을 수행할 수 있습니다.
하지만, 그userAdminAnyDatabase
역할 자체로는 사용자가 임의 사용자에게 임의 권한을 할당하는 것 외에 다른 작업을 수행할 수 없습니다.실제로 데이터베이스에서 작업을 수행하려면 해당 사용자에게 다음과 같은 추가 역할이 있어야 합니다.
readWriteAnyDatabase
dbAdminAnyDatabase
clusterAdmin
위 3가지 권리를 갖는 사용자 및 userAdminAnyDatabase
진정한 슈퍼 유저이며 무엇이든 할 수 있습니다.
언급URL : https://stackoverflow.com/questions/22638258/create-superuser-in-mongo
'programing' 카테고리의 다른 글
Mongoose: aggregate를 함께 사용하는 방법 (0) | 2023.05.06 |
---|---|
Azure Blob 400 컨테이너 생성 시 잘못된 요청. (0) | 2023.05.06 |
IIS에서 사이트를 시작할 수 없음(다른 프로세스에서 사용) (0) | 2023.05.01 |
PG::연결 불량 - 서버에 연결할 수 없음: 연결이 거부됨 (0) | 2023.05.01 |
GitHub 오류 메시지 - 권한 거부됨(공개 키) (0) | 2023.05.01 |