我一直以 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 下运行。