Включить аутентификацию в mongoDb в Ubuntu Desktop - PullRequest
0 голосов
/ 15 сентября 2018

Я использую Ubuntu 16.04 и пытаюсь включить аутентификацию в mongodDb

Я создал нового пользователя с помощью

db.createUser({
user:"Sun",
pwd:"Sun",
roles:[{role:"userAdmin",db:"pet"}]
})

Я проверилпользователь

db.getUsers();

Но я все еще могу изменить базу данных без указания имени пользователя и пароля

Я попытался разрешить авторизацию с помощью команд, представленных в документации , ноне работает для меня.

В моей системе для запуска mongodb мне нужно написать

sudo service mongod start
mongod

Скажите, пожалуйста, как включить аутентификацию в mongoDb

1 Ответ

0 голосов
/ 17 сентября 2018

Похоже, что в вашем файле mongod.conf отсутствует директива config.

проверьте шаг 4 в документах

Перезапустить экземпляр MongoDB с контролем доступа.

Перезапустить экземпляр mongod с параметром командной строки --auth или, если используется файл конфигурации, настройка security.authorization .

Итак, в вашем конфигурационном файле должна быть строка;

security.authorization: enabled

Из тестового окна с CentOS файл находится в /etc/mongod.conf и должен выглядеть примерно так (Проверка правильности путей и т. Д.)

systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

storage:
  dbPath: /var/lib/mongo
  journal:
    enabled: true

processManagement:
  fork: true
  pidFilePath: /var/run/mongodb/mongod.pid

net:
  port: 27017
  bindIp: 0.0.0.0

security.authorization: enabled

Вам также может оказаться проще использовать один из инструментов management для управления пользователями с помощью графического интерфейса пользователя (при условии, что вы работаете на клиенте Windows), так как это намного проще, чем делать все через командную строку. .

После обновления конфигурации не забудьте перезапустить экземпляр Mongod и проверить файл журнала на /var/log/mongodb/mongod.log, чтобы убедиться в отсутствии ошибок при запуске.

Помните, что вам нужно предоставить своим пользователям доступ к любой конкретной базе данных, я назначаю своих пользователей каждой базе данных, а не через базу данных 'admin' - я нахожу это проще.

И, наконец, - если вы обнаружите, что по какой-то причине вы заблокировали себя не паникуйте! просто измените строку конфигурации security.authorization: enabled на disabled и перезапустите ваш экземпляр, вы сможете войдите без авторизации!

В файле журнала также указываются проблемы с доступом, поэтому проверяйте это во время тестирования / настройки пользователей.

И запомните, как только закончите защитите свое развертывание и проверьте, что вы не можете войти или сделать что-либо без действительного входа в систему.

...