【问题标题】:AWS CodeBuild by non-root user using `run-as` build specAWS CodeBuild 由非 root 用户使用 `run-as` 构建规范
【发布时间】:2020-10-06 19:32:46
【问题描述】:

我想用非 root 用户构建。为了实现这一点,我正在查看run-as 构建规范。

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

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

【问题讨论】:

  • 您是使用 AWS 提供的 CodeBuild docker 镜像还是使用您自己的构建环境?

标签: aws-codebuild


【解决方案1】:

前往aws-codebuild-docker-images,找到你正在使用的环境镜像的docker文件,在docker文件中可以看到加入构建环境的用户。

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

RUN useradd codebuild-user

所以要切换到非root用户,你可以这样做:

run-as: codebuild-user

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2018-12-24
      • 1970-01-01
      • 2018-09-10
      • 2020-05-02
      • 2019-11-01
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 2022-11-08
      相关资源
      最近更新 更多