簡體   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