非root用户使用“运行方式”构建规范

时间:2019-07-06 12:36:10

标签: aws-codebuild

我想使用非root用户进行构建。为此,我正在研究run-as构建规范。

  

run-as:可选序列。仅适用于Linux用户。指定在此buildspec文件中运行命令的Linux用户。 run-as授予指定的用户读取和执行权限。在buildspec文件顶部指定运行方式时,它将全局应用于所有命令。如果不想为所有buildspec文件命令指定一个用户,则可以通过在阶段块之一中使用运行方式来为一个阶段的命令指定一个用户。如果未指定run-as,则所有命令均以root用户身份运行。

  1. 如何创建非root用户放入run-as
  2. 我在哪里创建该用户?
  3. 由于git克隆的源文件归root所有,我需要设置哪些权限?

2 个答案:

答案 0 :(得分:1)

转到aws-codebuild-docker-images,找到您正在使用的环境映像的docker文件,然后在docker文件中,您可以看到添加到构建环境的用户。

我的情况是,我使用的是ubuntu / standard / 3.0,所以我可以找到用户here

RUN useradd codebuild-user

因此,要切换为非root用户,您可以执行以下操作:

run-as: codebuild-user

答案 1 :(得分:0)

您可以在buildspec.yml中定义要运行构建脚本的linux用户

version: 0.2
run-as: Linux-user-name

参考:https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html