![](/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.