2016-07-29 92 views
0

背景:我面对这个错误AWS codedeploy deployment throwing "[stderr] Could not open input file" while trying to invoke a php file from the sh file at afterInstall stepcodedeploy运行钩子脚本的默认用户是什么?

在afterInstall一步,我试图从运行afterInstall.sh文件PHP文件,我得到这个错误 - 无法打开PHP文件。

我不确定究竟该做什么。想到尝试手动检查我是否可以以该用户的身份运行该文件。

回答

1

CodeDeploy代理的默认用户是root

下面的目录显示了部署文件在目标文件夹/tmp中的部署成功后的所有权。

[email protected]:~$ ls -l /tmp 
total 36 
-rw-r--r-- 1 root root 85 Aug 2 05:04 afterInstall.php 
-rw-r--r-- 1 root root 78 Aug 2 05:04 afterInstall.sh 
-rw-r--r-- 1 root root 1397 Aug 2 05:04 appspec.yml 
-rw------- 1 root root 3189 Aug 2 05:07 codedeploy-agent.update.log 
drwx------ 2 root root 16384 Aug 2 03:01 lost+found 
-rw-r--r-- 1 root root 63 Aug 2 05:04 out.log 
1
  • runas是AppSpec文件中的可选字段。用户在运行脚本时模拟。默认情况下,这是在实例上运行的AWS CodeDeploy代理(如果您未指定非root用户,则它将为root)。

  • 要以非root用户身份运行主机代理,需要设置环境变量CODEDEPLOY_USER,正如主机代理源代码的link所示。 env变量可以设置为您希望主机代理运行的任何用户。