[MONGODB] 사용자 이름과 암호를 사용하여 MongoDB를 확보하는 방법
MONGODB사용자 이름과 암호를 사용하여 MongoDB를 확보하는 방법
나는 어떤 원격 액세스는 사용자 이름 및 암호를 요청할 수 있도록, 내 MongoDB의 인스턴스에 대한 사용자 이름 및 암호 인증을 설정합니다. 나는 MongoDB의 사이트에서 튜토리얼을 시도하고 다음했다 :
use admin
db.addUser('theadmin', '12345');
db.auth('theadmin','12345');
그 후, 나는 종료 및 RAN은 다시 몽고. 그리고 나는 그것을 액세스하기 위해 암호를 입력 할 필요가 없습니다. 내가 원격으로 데이터베이스에 연결하더라도, 나는 사용자 이름 및 암호를 입력하라는 메시지가 아닙니다.
UPDATE는 여기에 내가 사용하여 종료 된 솔루션입니다
1) At the mongo command line, set the administrator:
use admin;
db.addUser('admin','123456');
2) Shutdown the server and exit
db.shutdownServer();
exit
3) Restart mongod with --auth
$ sudo ./mongodb/bin/mongod --auth --dbpath /mnt/db/
4) Run mongo again in 2 ways:
i) run mongo first then login:
$ ./mongodb/bin/mongo localhost:27017
use admin
db.auth('admin','123456');
ii) run & login to mongo in command line.
$ ./mongodb/bin/mongo localhost:27017/admin -u admin -p 123456
사용자 이름 및 암호는 mongodump 및 mongoexport에 대해 동일한 방식으로 작동합니다.
해결법
-
==============================
1.당신은 사용자가 설정 한 후 --auth 옵션을 mongod 시작해야합니다.
당신은 사용자가 설정 한 후 --auth 옵션을 mongod 시작해야합니다.
MongoDB의 사이트에서 :
MongoDB를 인증
-
==============================
2.와우 복잡 많은 / 여기에 답변을 혼란.
와우 복잡 많은 / 여기에 답변을 혼란.
이는 V3.4의로이다.
1) 액세스 제어없이 시작하여 MongoDB.
mongod --dbpath /data/db
2) 인스턴스에 연결합니다.
mongo
3) 사용자를 만듭니다.
use some_db db.createUser( { user: "myNormalUser", pwd: "xyz123", roles: [ { role: "readWrite", db: "some_db" }, { role: "read", db: "some_other_db" } ] } )
4) MongoDB의 인스턴스를 중지 및 액세스 제어 다시 시작합니다.
mongod --auth --dbpath /data/db
5)에 연결하고 사용자로 인증.
use some_db db.auth("myNormalUser", "xyz123") db.foo.insert({x:1}) use some_other_db db.foo.find({})
정말 간단합니다. 나는 바보를 다음과 같은 것입니다 https://docs.mongodb.com/manual/tutorial/enable-authentication/
이 역할은 실제로 자세한 내용은 여기를 읽어 않는 것에 대해 더 배우고 싶다면 : https://docs.mongodb.com/manual/reference/built-in-roles/
1) 액세스 제어없이 시작하여 MongoDB.
mongod --dbpath /data/db
2) 인스턴스에 연결합니다.
mongo
3) 사용자 관리자를 작성합니다. 다음은 관리자 인증 데이터베이스의 사용자 관리자를 작성합니다. 사용자는 some_db 데이터베이스를 통해 dbOwner이며 NOT 관리자 데이터베이스를 통해이 기억하는 것이 중요합니다.
use admin db.createUser( { user: "myDbOwner", pwd: "abc123", roles: [ { role: "dbOwner", db: "some_db" } ] } )
아니면 데이터베이스를 통해 admin이고 관리자를 만들려면 :
use admin db.createUser( { user: "myUserAdmin", pwd: "abc123", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
4) MongoDB의 인스턴스를 중지 및 액세스 제어 다시 시작합니다.
mongod --auth --dbpath /data/db
5) 연결 아닌, some_db 인증 데이터베이스에 대한 관리자 인증 데이터베이스에 대한 사용자 관리자로 인증 한. 사용자 관리자가 관리자 인증 데이터베이스에서 만든, 사용자는 some_db 인증 데이터베이스에 존재하지 않습니다.
use admin db.auth("myDbOwner", "abc123")
이제 some_db 데이터베이스를 통해 dbOwner으로 인증됩니다. 당신이 읽기 / 쓰기하고자하는 경우 그래서 지금 / 당신이 그것에 변경할 수 some_db 데이터베이스으로 직접 물건을한다.
use some_db //...do stuff like db.foo.insert({x:1}) // remember that the user administrator had dbOwner rights so the user may write/read, if you create a user with userAdmin they will not be able to read/write for example.
더 많은 역할에 대한 : https://docs.mongodb.com/manual/reference/built-in-roles/
당신은 사용자가 아닌 관리자하고있는 추가 사용자를 확인하려면 단지 일반 사용자는 아래 계속 읽기.
6) 일반 사용자를 만듭니다. 이 사용자는 아래로 아래 some_db 인증 데이터베이스에 작성됩니다.
use some_db db.createUser( { user: "myNormalUser", pwd: "xyz123", roles: [ { role: "readWrite", db: "some_db" }, { role: "read", db: "some_other_db" } ] } )
7) 사용자로 몽고 쉘, 재접속, 인증하고 종료.
use some_db db.auth("myNormalUser", "xyz123") db.foo.insert({x:1}) use some_other_db db.foo.find({})
-
==============================
3.먼저, 선을 유엔의 주석 당신의 MongoDB의 구성 파일 (기본 경로 /etc/mongod.conf)에서 # 인증 = 사실과 함께 시작됩니다. 이 MongoDB에 대한 인증을 가능하게 할 것이다.
먼저, 선을 유엔의 주석 당신의 MongoDB의 구성 파일 (기본 경로 /etc/mongod.conf)에서 # 인증 = 사실과 함께 시작됩니다. 이 MongoDB에 대한 인증을 가능하게 할 것이다.
그런 다음 다시 시작하여 MongoDB : sudo는 서비스 mongod 다시 시작
-
==============================
4.이 답변은 몽고 3.2.1입니다 참고
이 답변은 몽고 3.2.1입니다 참고
터미널 1:
$ mongod --auth
터미널 2:
db.createUser({user:"admin_name", pwd:"1234",roles:["readWrite","dbAdmin"]})
당신은 (선택 사항) 역할없이 추가하려는 경우 :
db.createUser({user:"admin_name", pwd:"1234", roles:[]})
인증 아닌지 확인합니다 :
db.auth("admin_name", "1234")
그것은 당신을 제공해야합니다 :
1
다른 사람 :
Error: Authentication failed. 0
-
==============================
5.여기에 사용자를 추가 할 수있는 자바 스크립트 코드입니다.
여기에 사용자를 추가 할 수있는 자바 스크립트 코드입니다.
-
==============================
6.https://docs.mongodb.com/manual/reference/configuration-options/#security.authorization
https://docs.mongodb.com/manual/reference/configuration-options/#security.authorization
편집 몽고 설정 파일;
sudo nano /etc/mongod.conf
라인을 추가 :
security.authorization : enabled
서비스를 다시 시작
sudo service mongod restart
문안 인사
-
==============================
7.먼저 사용하여 터미널에서 MongoDB를 실행
먼저 사용하여 터미널에서 MongoDB를 실행
mongod
이제 명령을 다음과 몽고 쉘 사용을 실행
use admin db.createUser( { user: "myUserAdmin", pwd: "abc123", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
액세스 제어와 MongoDB의 인스턴스를 다시 시작합니다.
mongod --auth
이제 사용하여 명령 줄에서 자신을 인증
mongo --port 27017 -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin"
나는에서 읽어
https://docs.mongodb.com/manual/tutorial/enable-authentication/
-
==============================
8.보안 데이터베이스 액세스에 대한 특정 데이터베이스에 대한 암호로 사용자 생성 :
보안 데이터베이스 액세스에 대한 특정 데이터베이스에 대한 암호로 사용자 생성 :
use dbName db.createUser( { user: "dbUser", pwd: "dbPassword", roles: [ "readWrite", "dbAdmin" ] } )
-
==============================
9.당신은 당신의 사용자 (안 관리 DB를) 할 데이터베이스로 전환해야합니다 ...
당신은 당신의 사용자 (안 관리 DB를) 할 데이터베이스로 전환해야합니다 ...
사용하여 MyDatabase
더 많은 도움이 게시물을 참조 ... https://web.archive.org/web/20140316031938/http://learnmongo.com/posts/quick-tip-mongodb-users/
-
==============================
10.
use admin db.createUser( { user: "admin", pwd: "admin123", roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ] } )
좀 더 세부 사항으로 이동하고 몽구스를 사용하여 연결 학습이 게시물을 확인할 수 있습니다.
-
==============================
11.이 단계는 내게했다 :
이 단계는 내게했다 :
-
==============================
12.당신은 /etc/mongod.conf 변경 될 수 있습니다.
당신은 /etc/mongod.conf 변경 될 수 있습니다.
전에
#보안:
후
security: authorization: "enabled"
그런 다음 서비스 mongod를 다시 시작 SUDO
-
==============================
13.새로운 사용자를 생성 한 후, 사용자에게 읽기 / 쓰기 / 루트 권한을 부여하는 것을 잊지 마십시오. 당신은 시도 할 수 있습니다
새로운 사용자를 생성 한 후, 사용자에게 읽기 / 쓰기 / 루트 권한을 부여하는 것을 잊지 마십시오. 당신은 시도 할 수 있습니다
명령 : db.grantRolesToUser ( 'yourNewUsername'[{역할 : "루트", dB : "관리자"}])
-
==============================
14.가장 좋은 방법은 다음과 MongoDB를 연결합니다 :
가장 좋은 방법은 다음과 MongoDB를 연결합니다 :
다음 스크립트는 DB에 대한 관리 사용자를 작성합니다.
이것은 당신이 MongoDB를에서 만드는 다른 컬렉션에 대한 다른 사용자와 암호를 만들 수 있습니다
-
==============================
15.이것은 내가 우분투 18.04에 무슨 짓을했는지 있습니다 :
이것은 내가 우분투 18.04에 무슨 짓을했는지 있습니다 :
$ sudo apt install mongodb $ mongo > show dbs > use admin > db.createUser({ user: "root", pwd: "rootpw", roles: [ "root" ] }) // root user can do anything > use lefa > db.lefa.save( {name:"test"} ) > db.lefa.find() > show dbs > db.createUser({ user: "lefa", pwd: "lefapw", roles: [ { role: "dbOwner", db: "lefa" } ] }) // admin of a db > exit $ sudo vim /etc/mongodb.conf auth = true $ sudo systemctl restart mongodb $ mongo -u "root" -p "rootpw" --authenticationDatabase "admin" > use admin > exit $ mongo -u "lefa" -p "lefapw" --authenticationDatabase "lefa" > use lefa > exit
from https://stackoverflow.com/questions/4881208/how-to-secure-mongodb-with-username-and-password by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 몽구스 오류 캐스트 ObjectId가 경로에서 값 XXX 실패 "_id"에 무엇입니까? (0) | 2019.12.01 |
---|---|
[MONGODB] MongoDB를에 버전 데이터를 구현하는 방법 (0) | 2019.12.01 |
[MONGODB] 일치하는 파이프 라인에서 문서의 집계 $ 조회 총 크기는 최대 문서 크기를 초과 (0) | 2019.12.01 |
[MONGODB] 어떻게 Node.js를에서 몽구스와 쪽수를 매기다? (0) | 2019.12.01 |
[MONGODB] MongoDB를 놓아 내부 어레이 (0) | 2019.12.01 |