MongoDB 기본 사용자 및 비밀번호는 무엇입니까?
로컬과 프로덕션에서 동일한 연결 문자열을 사용하고 있습니다.연결 문자열이mongodb://localhost/mydb
사용자 이름과 비밀번호는 무엇입니까?이렇게 하는 것이 안전한가요?
기본적으로는 mongodb에는 사용 가능한 접근컨트롤이 없기 때문에 기본 사용자나 비밀번호는 없습니다.
액세스 제어를 이노블로 만들려면 명령줄 옵션 중 하나를 사용합니다.--auth
또는 보안.인가 컨피규레이션파일 설정.
다음 절차를 사용하거나 MongoDB 문서의 "인증 활성화"를 참조하십시오.
절차.
접근통제 없이 MongoDB를 기동합니다.
mongod --port 27017 --dbpath /data/db1
인스턴스에 연결합니다.
mongosh --port 27017
사용자 관리자를 만듭니다.
use admin db.createUser( { user: "myUserAdmin", pwd: passwordPrompt(), // or cleartext password roles: [ { role: "userAdminAnyDatabase", db: "admin" }, { role: "readWriteAnyDatabase", db: "admin" } ] } )
액세스 컨트롤을 사용하여 MongoDB 인스턴스를 다시 시작합니다.
mongod --auth --port 27017 --dbpath /data/db1
사용자 관리자로 인증합니다.
mongosh --port 27017 --authenticationDatabase "admin"\ -u "myUserAdmin" -p
@Camilo Silva가 이미 언급한 내용과 더불어 데이터베이스 작성, 읽기, 쓰기 등에 대한 무료 액세스를 제공하지만 루트 역할을 작성하지 않으려면 다음과 같이 세 번째 단계를 변경할 수 있습니다.
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "abc123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" },
{ role: "dbAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" } ]
}
)
사용자를 이미 작성한 경우 다음과 같이 사용자를 업데이트할 수 있습니다.
첫 번째 로그온:
mongo --port 27017 -u "myUserAdmin" -p "abc123" \
--authenticationDatabase "admin"
추가 권한:
use admin
db.grantRolesToUser(
"myUserAdmin",
[ { role: "userAdminAnyDatabase", db: "admin" },
{ role: "dbAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" } ]
)
2.6 이전 MongoDB의 경우 루트 사용자를 추가하는 명령어는 다음과 같습니다.addUser
(예:
db.addUser({user:'admin',pwd:'<password>',roles:["root"]})
이전에 제공된 답변 외에 하나의 옵션은 DB가 이미 액세스 제어에서 시작된 경우 'localhost 예외' 접근법에 따라 첫 번째 사용자를 생성하는 것입니다(--auth
스위치)를 클릭합니다.그러기 위해서는 서버에 대한 localhost 액세스 권한이 있고 다음 작업을 수행해야 합니다.
mongo
use admin
db.createUser(
{
user: "user_name",
pwd: "user_pass",
roles: [
{ role: "userAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" },
{ role: "dbAdminAnyDatabase", db: "admin" }
]
})
MongoDB 매뉴얼에 기재되어 있는 바와 같이:
localhost 예외를 사용하면 접근컨트롤을 이노블로 하여 시스템 내의 첫 번째 사용자를 생성할 수 있습니다.localhost 예외를 제외하고 접근컨트롤을 이노블로 한 후 로컬호스트 인터페이스에 접속하여 관리 데이터베이스에 첫 번째 사용자를 만듭니다.첫 번째 사용자에게는 userAdmin 또는 userAdminAnyDatabase 역할을 가진 사용자 등 다른 사용자를 생성할 수 있는 권한이 있어야 합니다.localhost 예외를 사용하는 연결은 관리 데이터베이스에 첫 번째 사용자를 작성할 수 있는 액세스 권한만 가집니다.
다음은 문서의 해당 섹션에 대한 링크입니다.
너 같은 경우에는 몽고로 가라.
mongo
use admin
db.createUser({user:"Username", pwd:"Password", roles:[{role:"root", db:"admin"}]})
mongod --bind_ip_all --auth
.conf 파일을 변경한 후 다음 명령을 사용합니다.
network interfaces
net:
port: 27017
bindIp: 127.0.0.1,mongodb_server_ip
언급URL : https://stackoverflow.com/questions/38921414/mongodb-what-are-the-default-user-and-password
'programing' 카테고리의 다른 글
렌더링 시 onClick이 호출되는 이유는 무엇입니까? - React.js (0) | 2023.04.01 |
---|---|
Python을 사용하여 RESTful 서비스에서 JSON 데이터를 얻는 방법은 무엇입니까? (0) | 2023.04.01 |
Spring Boot 요청: "디버깅을 활성화하여 응용 프로그램을 재실행합니다" - 어떻게 해야 합니까? (0) | 2023.04.01 |
ng-options에서 ng-class를 사용하는 방법 (0) | 2023.04.01 |
AngularJs 마스터 방법 (0) | 2023.04.01 |