Bawiłem się z uprawnieniami i zablokowałem się w bazie danych Mongo. Jestem prawie pewien, że to zrobiłem, próbując jawnie dodać dostęp do bazy danych, ale zamiast tego nadpisałem tylko zezwolenie na bazę danych. Więc jestem skutecznie zablokowany z bazy danych Mongo i wszystko, co czytam, mówi mi, jak utworzyć superużytkownika, jeśli mam uprawnienie dodawania użytkownika. W tej chwili nie sądzę, że mam użytkowników, którzy mają takie uprawnienia. Czy istnieje sposób na wejście do bazy danych jako pełny dostęp? Jestem właścicielem serwera i mam dostęp do konta root.
29
Miałem podobny problem, gdy utworzyłem użytkownika bez uprzedniego dodania administratora. Poniższe kroki pomogły rozwiązać problem:
sudo
(sudo vi mongodb.conf
).Plik można znaleźć w
/etc/
folderze."auth = true"
.sudo service mongod stop
)sudo service mongod start
)Następnie utwórz superużytkownika „root” za pomocą poniższego polecenia:
W celach informacyjnych https://docs.mongodb.com/manual/reference/built-in-roles/#superuser-roles
Wróć i odkomentuj
"auth=true"
. Zatrzymaj i uruchom / uruchom ponownie usługę mongodb.źródło
Jeśli używasz zestawu replik z
keyfile
Plik klucza służy do uwierzytelniania w replikacji.
Możesz użyć tego polecenia, aby zalogować się jako administrator do mongod:
Posłowie możesz utworzyć lub zmodyfikować swojego administratora.
źródło
Sprawdź odpowiedzi na to pytanie, mogą ci pomóc
https://stackoverflow.com/questions/20117104/mongodb-root-user
Zasadniczo, jeśli nadal masz dostęp do serwera, możesz mieć dostęp do
Admin
bazy danych.Jest więcej na tej stronie http://docs.mongodb.org/v2.4/reference/user-privileges/
Zauważ, że wersja 2.6 zmienia sposób, w jaki to działa całkowicie. W wersji 2.6 musisz spędzić więcej czasu z http://docs.mongodb.org/manual/security/
źródło
Musisz zatrzymać Mongo, usunąć pliki administracyjne, a następnie uruchomić Mongo
źródło