Programing

MongoDB 기본 사용자 및 비밀번호는 무엇입니까?

lottogame 2020. 11. 20. 08:25
반응형

MongoDB 기본 사용자 및 비밀번호는 무엇입니까?


로컬 및 프로덕션에서 동일한 연결 문자열을 사용하고 있습니다. 연결 문자열이mongodb://localhost/mydb

사용자 이름과 비밀번호는 무엇입니까? 이런 식으로 유지하는 것이 안전합니까?


기본적으로 mongodb에는 활성화 된 액세스 제어가 없으므로 기본 사용자 또는 암호가 없습니다.

액세스 제어를 활성화하려면 명령 줄 옵션 --auth또는 security.authorization 구성 파일 설정을 사용하십시오.

다음 절차를 사용 하거나 MongoDB 문서에서 인증 활성화를 참조 할 수 있습니다 .

순서

  1. 액세스 제어없이 MongoDB를 시작합니다.

    mongod --port 27017 --dbpath /data/db1
    
  2. 인스턴스에 연결합니다.

    mongo --port 27017
    
  3. 사용자 관리자를 만듭니다.

    use admin
    db.createUser(
      {
        user: "myUserAdmin",
        pwd: "abc123",
        roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
      }
    )
    
  4. 액세스 제어를 사용하여 MongoDB 인스턴스를 다시 시작하십시오.

    mongod --auth --port 27017 --dbpath /data/db1
    
  5. 사용자 관리자로 인증하십시오.

    mongo --port 27017 -u "myUserAdmin" -p "abc123" \
      --authenticationDatabase "admin"
    

@Camilo Silva가 이미 언급 한 것 외에도 데이터베이스 생성, 데이터베이스 읽기, 쓰기 등의 무료 액세스 권한을 부여하고 싶지만 루트 역할을 생성하지 않으려는 경우 다음과 같이 3 단계를 변경할 수 있습니다.

use admin
db.createUser(
  {
    user: "myUserAdmin",
    pwd: "abc123",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" }, 
             { role: "dbAdminAnyDatabase", db: "admin" }, 
             { role: "readWriteAnyDatabase", db: "admin" } ]
  }
)

이전 2.6 이상의 MongoDB를 들어, 명령은 루트 사용자가 추가 할 수 있습니다 addUser(예를)

db.addUser({user:'admin',pwd:'<password>',roles:["root"]})

참고 URL : https://stackoverflow.com/questions/38921414/mongodb-what-are-the-default-user-and-password

반응형