Назад | Перейти на главную страницу

Это монго 3.2.8, на centos7. Проблема в том, как запустить mongo от имени пользователя mongod, а не root

Я вошел в систему как root и запустил mongo как sudo mongod --storageEngine wiredTiger --dbpath /var/lib/mongo -f /etc/mongod.conf --fork

Я пытаюсь запустить mongod от имени пользователя mongod, чтобы он соответствовал агентам автоматизации облачного менеджера mongod. Прямо сейчас mongo работает под "root". Я остановил это и попробовал su mongod а затем перезапустил его. Однако он все еще работает под «root».

Как правильно настроить mongo, чтобы он запускался с mongod? Я знаю, что существует пользователь mongod, поскольку у меня есть облачные агенты mongod (агенты резервного копирования, мониторинга и автоматизации), работающие как пользователь mongod, когда я выполняю команду ps aux | grep mongo

Когда я нахожу пользователя в / etc / passwd. это выглядит так:

mongod: x: 994: 991: mongod: / var / lib / mongo: / bin / false

Что означает «/ bin / false» и безопасно ли изменить это на «/ bin / bash», это позволит мне запустить mongo от имени этого пользователя?

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ: я только что обнаружил, что в папке / var / lib / mongo / есть пользователь root в качестве владельца, так что это может быть проблемой. Я попробую сменить владельца на mongod, а затем попробую запустить mongo как службу вместо программы mongo с cli args.

Спасибо за помощь @Michael Hampton, я закончил chown -R mongod:mongod . когда в /var/lib/mongo/ каталог. Затем я начал монго с sudo service mongod start команда вместо использования mongod прямо. Теперь он работает под правильным пользователем mongod.