Github Actions无法写入文件,权限被拒绝(在docker容器内部)

6
我正在使用一个ZAP Dockerfile镜像[2]来扫描应用程序的漏洞。以下是我的Github操作。
name: CI

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v1
    - name: run zap
      uses: docker://owasp/zap2docker-stable
      with:
        args: zap-baseline.py -t https://www.example.com

所以基本上这个图像有一个名为 /home/zap/ 的文件夹,并且正在尝试将文件写入此位置。我不理解为什么 Github 的 actions 在容器内持久化时会抛出 IOError: [Errno 13] Permission denied:。容器正在使用一个 zap 用户。是否有其他人在 Github Actions 中遇到过类似的文件写入权限问题?
[1] - https://github.com/sshniro/actions-test-repo/commit/3fb6cfa2c883099f300dba5383fa61c708f2a48f/checks?check_suite_id=312860807 [2] - https://github.com/zaproxy/zaproxy/blob/develop/docker/Dockerfile-stable
1个回答

6
如果Docker使用了另一个用户,则在将数据持久化到本地目录时可能会出现权限问题。以下是我用来解决此问题的配置:

如果 Docker 使用了其他用户,则在持久化到本地目录时可能会出现权限问题。以下是我用来解决此问题的配置:

name: ZAP
on: push
jobs:
  scan:
    runs-on: ubuntu-latest
    container:
      image: owasp/zap2docker-stable
      options: --user root -v ${{ github.workspace }}:/zap/wrk/:rw
    steps:
      - run: pwd && ls -l
      - name: run zap baseline scan
        run: zap-baseline.py -t https://example.com -x report_xml.xml || echo 0

在这里,我们通过选项参数来覆盖用户。


以root用户身份在普通用户会话中运行Firefox是不支持的。($HOME是/home/zap/,由zap拥有。) - Piyush Sonigra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接