2016-03-06 44 views
-1

我嘗試在AWS Elastic beanstalk node.js服務上運行node.js腳本/應用程序。以root身份運行Node.js腳本的彈性beanstore

在sudo啓動後,腳本在本地機器上運行良好。因此,在將其移至AWS彈性beanstalk環境時,它似乎並未以root權限運行。

有沒有辦法設置一個node.js腳本來啓動sudo,或在彈性beanstalk服務器上的root權限?

+2

是否真的有必要嗎?用sudo啓動? –

+0

我與André就此合作。不要以sudo運行你的應用程序。什麼是應用程序在做什麼?我現在投票表決,因爲這是不好的做法。 – Clarkie

+0

@Clarkie - 我是一個有node.js的新手,並且試圖利用一些已經可用的代碼,所以不知道爲什麼它需要以root身份運行。我將重新檢查代碼並嘗試瞭解是否有更好的方法。知道這是不好的做法是很好的反饋。如果你能夠詳細說明爲什麼你認爲這是不好的做法,那將是非常好的嗎? – simon

回答

1

這是一個非常糟糕的做法,所以我從來沒有試過這樣做。

如果你沒有任何其他的解決辦法,嘗試改變你的啓動腳本中的package.json,像這樣:

"scripts": { 
    "start": "sudo node index.js" 
} 

您應該添加用戶的NodeJS如sudo的,也。創建.ebextensions文件夾(位於應用程序根目錄)中的文件rootaccess.config,與此內容:

container_commands: 
    01_enable_rootaccess: 
    command: echo Defaults:root \!requiretty >> /etc/sudoers 

請記住,你應該使用空格縮進這個config文件,而不是標籤

相關問題