2016-07-24 3 views

ответ

6
service arangodb3 stop 
/usr/sbin/arangod --server.authentication false 

, а затем

require("@arangodb/users").replace("root", "my-changed-password"); 
exit 
service arangodb3 restart // **VERY IMPORTANT STEP!!!** 
//if you don't restart the server everyone can have access to your database 
+0

точно - После того, как вы запустили сервер с отключенной аутентификацией, вы можете изменить пароль. Пожалуйста, отметьте свой собственный ответ как «принятый» ;-) – dothebart

+0

Это не работает, потому что 'arangosh' - это только клиентский инструмент, который не разрешает отключать аутентификацию сервера. Вы должны запустить ** сервер ** (arangod) с '--server.authentication false'. Вам не нужен этот параметр запуска для arangosh, просто подключитесь к конечной точке сервера и используйте пустой пароль. – CoDEmanX

+0

но это сработало, я изменил пароль таким образом (совершенно новый), и все работает отлично, но теперь я не могу сделать это снова, потому что у меня есть 401: Unauthorized weird ... – neuronet

5

Запустите сервер arangod с опцией --server.authentication false. Это отключит аутентификацию, чтобы вы могли обращаться к базам данных без пароля. Если вас попросят ввести учетные данные в arangosh или веб-интерфейсе, используйте root как имя пользователя и пустой пароль. Затем вы можете изменить пароль пользователя root (в веб-интерфейсе: USERS> root> Change Password).

Желательно, чтобы связать сервер с --server.endpoint tcp://127.0.0.1:8529 и не 0.0.0.0 с аутентификацией выключено, так что ни один из вне не может получить доступа к незащищенным базам данных, но только вы локально на сервере (вы также можете привязать его к сетевому адресу , но убедитесь, что порт не открыт для публики в этом случае).

0

Я бегу ArangoDB3 как сервис на Ubuntu, и я был не в состоянии понять, как передать --server.authentication false или --server.endpoint tcp://127.0.0.1:8529 параметров в arangod процесса.

Я заработал, изменив те же значения в /etc/arangodb3/arangod.conf.

Смежные вопросы