github.com/yp-engineering/docker@v1.8.1/docker/daemon_unix.go (about) 1 // +build daemon,!windows 2 3 package main 4 5 import ( 6 "fmt" 7 "os" 8 "syscall" 9 10 apiserver "github.com/docker/docker/api/server" 11 "github.com/docker/docker/daemon" 12 "github.com/docker/docker/pkg/system" 13 14 _ "github.com/docker/docker/daemon/execdriver/lxc" 15 _ "github.com/docker/docker/daemon/execdriver/native" 16 ) 17 18 func setPlatformServerConfig(serverConfig *apiserver.ServerConfig, daemonCfg *daemon.Config) *apiserver.ServerConfig { 19 serverConfig.SocketGroup = daemonCfg.SocketGroup 20 return serverConfig 21 } 22 23 // currentUserIsOwner checks whether the current user is the owner of the given 24 // file. 25 func currentUserIsOwner(f string) bool { 26 if fileInfo, err := system.Stat(f); err == nil && fileInfo != nil { 27 if int(fileInfo.Uid()) == os.Getuid() { 28 return true 29 } 30 } 31 return false 32 } 33 34 // setDefaultUmask sets the umask to 0022 to avoid problems 35 // caused by custom umask 36 func setDefaultUmask() error { 37 desiredUmask := 0022 38 syscall.Umask(desiredUmask) 39 if umask := syscall.Umask(desiredUmask); umask != desiredUmask { 40 return fmt.Errorf("failed to set umask: expected %#o, got %#o", desiredUmask, umask) 41 } 42 43 return nil 44 }