diff --git a/daemon/exec_windows.go b/daemon/exec_windows.go index a6ac1db42dca67e25e6b69b1f5f84725ee8b5932..1d6974cda960913b7429c64625908e9d73484f09 100644 --- a/daemon/exec_windows.go +++ b/daemon/exec_windows.go @@ -9,5 +9,6 @@ import ( func execSetPlatformOpt(c *container.Container, ec *exec.Config, p *libcontainerd.Process) error { // Process arguments need to be escaped before sending to OCI. p.Args = escapeArgs(p.Args) + p.User.Username = ec.User return nil } diff --git a/libcontainerd/client_windows.go b/libcontainerd/client_windows.go index 16abec3bca5587ac7734ec2e30300c408203d73b..23e5b0dcbef424b6ca78ffd9ed008f824d83bba8 100644 --- a/libcontainerd/client_windows.go +++ b/libcontainerd/client_windows.go @@ -301,6 +301,7 @@ func (clnt *client) AddProcess(ctx context.Context, containerID, processFriendly // Configure the environment for the process createProcessParms.Environment = setupEnvironmentVariables(procToAdd.Env) createProcessParms.CommandLine = strings.Join(procToAdd.Args, " ") + createProcessParms.User = procToAdd.User.Username logrus.Debugf("libcontainerd: commandLine: %s", createProcessParms.CommandLine) diff --git a/libcontainerd/container_windows.go b/libcontainerd/container_windows.go index 21fb6ac8357eec9caf25088c977440833b400c69..9b1965099a8fab8c91ab04c5fdb247c385b73039 100644 --- a/libcontainerd/container_windows.go +++ b/libcontainerd/container_windows.go @@ -81,6 +81,7 @@ func (ctr *container) start(attachStdio StdioCallback) error { // Configure the environment for the process createProcessParms.Environment = setupEnvironmentVariables(ctr.ociSpec.Process.Env) createProcessParms.CommandLine = strings.Join(ctr.ociSpec.Process.Args, " ") + createProcessParms.User = ctr.ociSpec.Process.User.Username // Start the command running in the container. newProcess, err := ctr.hcsContainer.CreateProcess(createProcessParms)