关于Amazon Web Services:以root身份运行Node.js脚本的Elastic beantalk

Elastic beanstalk running Node.js script as root

我有一个试图在AWS Elastic beanstalk node.js服务上运行的node.js脚本/应用程序。

使用sudo启动脚本后,脚本可以在本地计算机上正常运行。因此,在将其移至AWS Elastic beantalk环境中时,似乎没有以root用户权限运行。

是否可以设置node.js脚本以在弹性beantalk服务器上以sudo或root权限启动?


这是非常糟糕的做法,因此我从未尝试过这样做。

如果没有其他解决方案,请尝试在package.json中更改您的启动脚本,如下所示:

1
2
3
"scripts": {
   "start":"sudo node index.js"
 }

您还应该将nodejs用户添加为sudo。在.ebextensions文件夹(位于应用程序根目录)中创建文件rootaccess.config,内容如下:

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

请记住,您应该使用空格而不是制表符来缩进此.config文件。