Allow user to be root

master
Hugo Thunnissen 2 years ago
parent dd684d6357
commit cb234c44cc

@ -6,6 +6,7 @@ import (
"errors" "errors"
"flag" "flag"
"fmt" "fmt"
"log"
"os" "os"
"os/exec" "os/exec"
"os/user" "os/user"
@ -112,29 +113,32 @@ func EntryPoint(command []string) error {
) )
} }
err = AddUser(os.Getenv("WORKSPACE_USERNAME"), uidString) if uid != 0 {
if err != nil { log.Printf("UID: %d", uid)
return err err = AddUser(os.Getenv("WORKSPACE_USERNAME"), uidString)
} if err != nil {
return err
}
err = AddGroup("docker", dockerGidString) err = AddGroup("docker", dockerGidString)
if err != nil { if err != nil {
return err return err
} }
err = syscall.Setgroups([]int{dockerGid}) err = syscall.Setgroups([]int{dockerGid})
if err != nil { if err != nil {
return err return err
} }
err = syscall.Setgid(int(uid)) err = syscall.Setgid(int(uid))
if err != nil { if err != nil {
return err return err
} }
err = syscall.Setuid(int(uid)) err = syscall.Setuid(int(uid))
if err != nil { if err != nil {
return err return err
}
} }
path, err := exec.LookPath(command[0]) path, err := exec.LookPath(command[0])
@ -167,6 +171,7 @@ func Run(detach bool, mounts []string, command []string) error {
dockerCommand := []string{ dockerCommand := []string{
"/bin/docker", "run", "--network=host", "/bin/docker", "run", "--network=host",
"--workdir=" + workDir, "--workdir=" + workDir,
"--rm",
"-e", "DISPLAY=" + os.Getenv("DISPLAY"), "-e", "DISPLAY=" + os.Getenv("DISPLAY"),
"-e", "WORKSPACE_USER=" + curUser.Uid, "-e", "WORKSPACE_USER=" + curUser.Uid,
"-e", "WORKSPACE_USERNAME=" + curUser.Username, "-e", "WORKSPACE_USERNAME=" + curUser.Username,

Loading…
Cancel
Save