在afterInstall步骤中,我试图从afterInstall.sh文件运行一个php文件,我收到此错误 - 无法打开php文件。
我不确定究竟要做什么。考虑尝试手动检查我是否可以以该用户身份运行该文件。
答案 0 :(得分:1)
runas是AppSpec文件中的可选字段。用户在运行脚本时进行模拟。默认情况下,这是在实例上运行的AWS CodeDeploy代理(如果您没有指定非root用户,则它将是root用户)。
要以非root用户身份运行Host Agent,需要设置环境变量CODEDEPLOY_USER,因为主机代理源代码显示为link。 env变量可以设置为您希望主机代理运行的任何用户。
答案 1 :(得分:1)
CodeDeploy代理默认用户为root
。
下面的目录列表显示成功部署后目标文件夹/tmp
中已部署文件的所有权。
ubuntu@ip-10-0-xx-xx:~$ 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