![](/img/trans.png)
[英]Can be dangerous to use the default ubuntu user in EC2 to do git clone?
[英]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 -u
和compgen -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.