commit
ce0a339632
|
@ -0,0 +1,10 @@
|
||||||
|
// +build linux,!go1.5
|
||||||
|
|
||||||
|
package libcontainer
|
||||||
|
|
||||||
|
import "syscall"
|
||||||
|
|
||||||
|
// GidMappingsEnableSetgroups was added in Go 1.5, so do nothing when building
|
||||||
|
// with earlier versions
|
||||||
|
func enableSetgroups(sys *syscall.SysProcAttr) {
|
||||||
|
}
|
|
@ -164,6 +164,7 @@ func (c *linuxContainer) newInitProcess(p *Process, cmd *exec.Cmd, parentPipe, c
|
||||||
// user mappings are not supported
|
// user mappings are not supported
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
enableSetgroups(cmd.SysProcAttr)
|
||||||
// Default to root user when user namespaces are enabled.
|
// Default to root user when user namespaces are enabled.
|
||||||
if cmd.SysProcAttr.Credential == nil {
|
if cmd.SysProcAttr.Credential == nil {
|
||||||
cmd.SysProcAttr.Credential = &syscall.Credential{}
|
cmd.SysProcAttr.Credential = &syscall.Credential{}
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
// +build linux,go1.5
|
||||||
|
|
||||||
|
package libcontainer
|
||||||
|
|
||||||
|
import "syscall"
|
||||||
|
|
||||||
|
// Set the GidMappingsEnableSetgroups member to true, so the process's
|
||||||
|
// setgroups proc entry wont be set to 'deny' if GidMappings are set
|
||||||
|
func enableSetgroups(sys *syscall.SysProcAttr) {
|
||||||
|
sys.GidMappingsEnableSetgroups = true
|
||||||
|
}
|
Loading…
Reference in New Issue