这是 centos7 上的 mongo 3.2.8。问题是如何以 mongod 用户而不是 root 用户身份运行 mongo

这是 centos7 上的 mongo 3.2.8。问题是如何以 mongod 用户而不是 root 用户身份运行 mongo

我一直以 root 身份登录,并运行 mongosudo 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 作为服务启动,而不是使用带有 cli 参数的 mongo 程序。

答案1

感谢@Michael Hampton 的帮助,我最终chown -R mongod:mongod .在目录中执行了 when /var/lib/mongo/。然后我使用命令启动了 mongo,sudo service mongod start而不是直接使用mongod。它现在在正确的用户 mongod 下运行。

相关内容