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

时间:2019-11-18 18:46:57

标签: github github-actions

我正在使用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的动作会抛出一个IOError: [Errno 13] Permission denied:以便持久化在Docker容器中。容器正在使用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 个答案:

答案 0 :(得分:3)

如果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

在这里,我们通过options参数覆盖了用户。