【发布时间】:2020-10-19 05:17:08
【问题描述】:
我有一个在 Amazon linux 2 AMI 上运行 tomcat8.5 的弹性 beanstalk webapp。我的 webapp 通过 chromedriver 启动一个无头 chrome 图像来执行一些功能。无病 chrome 进程需要能够写入 /tmp 以在启动时解压一些东西,如果它不能写入 /tmp 则失败。在我尝试使用的 .ebextensions 中
535_permission:
command: sudo chmod 777 /tmp
根据我的 cfn-init-cmd.log 执行得很好。但是,我是否确实在 /tmp 上执行了 ls -al,它的默认权限为
drwxr-xr-x 10 ec2-user root 334 Oct 18 10:54 .
如果我手动发出命令,它会起作用。我不明白为什么这些命令在 eb config 中运行正常,但在我手动检查文件系统时却没有应用。我不确定 /tmp 是否在 ebextensions 运行后被重置,也许我需要稍后以某种方式运行它。
【问题讨论】:
-
通常,应用程序可以写入 /tmp。您的应用程序是否被拒绝访问?
-
是的。如果我将 /tmp 的权限更改为 777 或者如果我执行 sudo chorn tomcat:tomcat /tmp 那么它工作正常。
-
535_permission是在commands还是container_commands?我会尝试重现。 -
它在命令中:
-
非常感谢您的关注。我有一些与 /tmp perms 混淆的旧代码,我以为我已经删除了。在我的辩护中,我在 5 年前写了那个片段并忘记了它在那里。当我删除它时,它的行为与您描述的一样。
标签: amazon-web-services amazon-elastic-beanstalk amazon-ami