diff --git a/CHANGELOG.md b/CHANGELOG.md index b64560e6e85..c4d7ef79354 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ Note: Can be used with `oxsecurity/megalinter@beta` in your GitHub Action mega-l - Fixes - Change name of config file for powershell formatter to avoid collision with powershell linter config + - Run Docker container as current user rather than root ([#1975](https://github.com/oxsecurity/megalinter/issues/1975)) - Linter versions upgrades - [prettier](https://prettier.io/) from 2.8.1 to **2.8.2** on 2023-01-07 diff --git a/mega-linter-runner/lib/runner.js b/mega-linter-runner/lib/runner.js index 79a8da5c369..b24baeda03f 100644 --- a/mega-linter-runner/lib/runner.js +++ b/mega-linter-runner/lib/runner.js @@ -4,6 +4,7 @@ const optionsDefinition = require("./options"); const { spawnSync } = require("child_process"); const c = require("chalk"); const path = require("path"); +const { getgid, getuid } = require("process"); const which = require("which"); const fs = require("fs-extra"); const { MegaLinterUpgrader } = require("./upgrade"); @@ -127,6 +128,9 @@ ERROR: Docker engine has not been found on your system. if (options["containerName"]) { commandArgs.push(...["--name", options["containerName"]]); } + if (getuid && getgid) { + commandArgs.push(...["--user", `${getuid()}:${getgid()}`]); + } commandArgs.push(...["-v", "/var/run/docker.sock:/var/run/docker.sock:rw"]); commandArgs.push(...["-v", `${lintPath}:/tmp/lint:rw`]); if (options.fix === true) {