github.com/gunjan5/docker@v1.8.2/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  }