【问题标题】:How do I change EC2 user from ubuntu to mongodb?如何将 EC2 用户从 ubuntu 更改为 mongodb?
【发布时间】:2016-11-06 03:31:39
【问题描述】:

在 EC2 上启动了 Ubuntu 14.04 LTS 微型实例,在 their official documentation 之后安装了最新的 MongoDB。当我运行sudo mongod --fork --dbpath /somedbpath --logpath /somelogpath 后跟mongo 时,

我收到警告说它不应该以 root 用户身份运行。我确实注意到安装过程创建了一个 mongodb 用户和组,我可以分别在 compgen -ucompgen -g 的输出中看到它们。我关闭了 mongod 服务器,甚至删除了在 dbpath 目录中创建的所有文件。现在,我想以 mongodb 用户身份运行守护进程,因为我了解到它具有最佳性能所需的所有适当权限和 ulimit。

但是,我如何从 ubuntu 切换到 mongodb 用户?我跑了sudo passwd mongodb 并更新了密码。然后我尝试了su mongodb,在出现提示时输入了密码,但按回车键让我只以 ubuntu 身份登录。我尝试注销并重新登录。我在 /home 下手动创建了 mongodb 目录,因为它不存在。我什至在其中创建了一个 .ssh 目录,并从 /home/ubuntu/.ssh 复制了 authorized_keys 文件,看看我是否可以通过ssh -i pemfile mongodb@serveruri 登录服务器,但它会抛出Permission denied (publickey). 我倾向于遵循最佳实践并且希望能够以 mongodb 的形式启动 mongo 守护进程。

【问题讨论】:

    标签: linux mongodb ssh amazon-ec2 ubuntu-14.04


    【解决方案1】:

    为了解决这个问题,我不得不更改数据目录(及其文件)和日志路径的权限,就像这样 -

    cd /var/log
    sudo chown -R mongodb:mongodb mongodb/
    
    cd /
    sudo chown -R mongodb:mongodb data/
    

    然后我运行类似于7171u的答案的命令,即

    sudo -u mongodb mongod --fork --dbpath /data/ --logpath /var/log/mongodb/mongod.log
    

    警告消失了!

    【讨论】:

      【解决方案2】:

      以 mangodb 用户的身份运行命令:

      sudo -u mangodb mongod --fork --dbpath /somedbpath --logpath /somelogpath
      

      【讨论】:

      • 感谢您与我们联系。我回答了我自己的问题来描述我必须运行的步骤。
      【解决方案3】:

      你自己解决了就好了,但是你还是不清楚。

      通过下面提到的链接,了解每个用户的角色。

      http://www.cyberciti.biz/faq/understanding-etcpasswd-file-format/

      mongod 用户是没有主目录的用户,所以没有 /home,它也没有 shell。检查 mongod 用户的 /etc/passwd 文件。

      mongod:x:993:990:mongod:/var/lib/mongo:/bin/false
      

      这是上述文件中 mongod 用户的默认条目。

      它的主目录是 /var/lib/mongo 它的外壳是假的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-12-05
        • 2013-05-07
        • 2022-10-15
        • 1970-01-01
        • 1970-01-01
        • 2021-02-22
        • 2013-02-09
        相关资源
        最近更新 更多