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 }