繁体   English   中英

如何将EC2用户从ubuntu更改为mongodb?

[英]How do I change EC2 user from ubuntu to mongodb?

在EC2上启动Ubuntu 14.04 LTS微型实例,并根据其官方文档安装了最新的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 ,在出现提示时输入密码,但是按ENTER键使我只能以ubuntu身份登录。 我尝试注销并重新登录。由于/ home下不存在mongodb目录,因此我手动对其进行了创建。 我什至在其中创建了一个.ssh目录,并从/home/ubuntu/.ssh复制了authorized_keys文件,以查看是否可以通过ssh -i pemfile mongodb@serveruri登录服务器,但是它抛出了Permission denied (publickey). 我倾向于遵循最佳实践,并希望能够将mongo守护程序作为mongodb启动。

以mangodb用户身份运行命令:

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

为了解决这个问题,我必须更改数据目录(及其文件)和日志路径的权限,如下所示:

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

警告消失了!

您自己解决问题是件好事,但是您仍然不清楚。

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

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

mongod用户是没有主目录的用户,这就是为什么没有/ home的原因,并且它也没有外壳。 检查您的/ etc / passwd文件中的mongod用户。

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

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

它的主目录是/ var / lib / mongo,它的shell是false。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM