Używam tego samego ciągu połączenia na lokalnym i produkcyjnym. Gdy ciąg połączenia to mongodb: // localhost/mydbMongoDB jaki jest domyślny użytkownik i hasło?
Co to jest użytkownik i hasło? Czy bezpiecznie jest przechowywać w ten sposób?
Używam tego samego ciągu połączenia na lokalnym i produkcyjnym. Gdy ciąg połączenia to mongodb: // localhost/mydbMongoDB jaki jest domyślny użytkownik i hasło?
Co to jest użytkownik i hasło? Czy bezpiecznie jest przechowywać w ten sposób?
Domyślnie mongodb nie ma włączonej kontroli dostępu, więc nie ma domyślnego użytkownika ani hasła.
Aby włączyć kontrolę dostępu, użyj opcji wiersza poleceń --auth
lub ustawienia pliku konfiguracyjnego security.authorization.
Możesz skorzystać z następującej procedury lub zapoznać się z Enabling Auth w dokumentacji MongoDB.
start MongoDB bez kontroli dostępu.
mongod --port 27017 --dbpath /data/db1
Nawiązanie połączenia z instancją.
mongo --port 27017
Utwórz administratora użytkownika.
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "abc123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
Ponownie uruchom instancję MongoDB z kontrolą dostępu.
mongod --auth --port 27017 --dbpath /data/db1
Uwierzytelnianie jako administrator użytkownika.
mongo --port 27017 -u "myUserAdmin" -p "abc123" \
--authenticationDatabase "admin"
Dla MongoDB wcześniej niż 2.6, komenda dodać użytkownika root jest addUser
(np)
db.addUser({user:'admin',pwd:'<password>',roles:["root"]})
TypeError: db.addUser nie jest funkcją nie działa –
Do wersji 2.6 miałeś 'db.addUser'. Począwszy od wersji 2.6 iw obecnej wersji 3.4.x możesz utworzyć użytkownika z 'db.CreateUser'. –
Ponadto z co @Camilo Silva już wspomniano, jeśli chcesz dać darmowy dostęp do tworzenia baz danych, odczytywanie, pisanie baz danych itp., ale nie chcesz tworzyć roli głównej, możesz zmienić trzeci etap, wykonując następujące czynności:
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "abc123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" },
{ role: "dbAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" } ]
}
)
Jeśli użytkownik zostanie utworzony z rolą userAdminAnyDatabase, nie będzie można utworzyć żadnej bazy danych. Dlatego sekcja ról powinna wyglądać następująco: role: [{rola: "root", db: "admin"}] – georgeos
Proszę połączyć [oryginalny post z podręcznika MongoDB] (https://docs.mongodb.com/manual/tutorial/enable -authentication /) –