github.com/10XDev/rclone@v1.52.3-0.20200626220027-16af9ab76b2a/vfs/vfsflags/vfsflags_unix.go (about)

     1  // +build linux darwin freebsd
     2  
     3  package vfsflags
     4  
     5  import (
     6  	"github.com/rclone/rclone/fs/config/flags"
     7  	"github.com/spf13/pflag"
     8  	"golang.org/x/sys/unix"
     9  )
    10  
    11  // add any extra platform specific flags
    12  func platformFlags(flagSet *pflag.FlagSet) {
    13  	flags.IntVarP(flagSet, &Opt.Umask, "umask", "", Opt.Umask, "Override the permission bits set by the filesystem.")
    14  	Opt.Umask = unix.Umask(0) // read the umask
    15  	unix.Umask(Opt.Umask)     // set it back to what it was
    16  	Opt.UID = uint32(unix.Geteuid())
    17  	Opt.GID = uint32(unix.Getegid())
    18  	flags.Uint32VarP(flagSet, &Opt.UID, "uid", "", Opt.UID, "Override the uid field set by the filesystem.")
    19  	flags.Uint32VarP(flagSet, &Opt.GID, "gid", "", Opt.GID, "Override the gid field set by the filesystem.")
    20  }