mount: auto created dir set corrct umask fix bug

This commit is contained in:
limd 2020-09-23 18:35:37 +08:00
parent 0db149fb5f
commit 9b21ec27e4
2 changed files with 6 additions and 3 deletions

View file

@ -44,7 +44,7 @@ func init() {
mountOptions.cacheSizeMB = cmdMount.Flag.Int64("cacheCapacityMB", 1000, "local file chunk cache capacity in MB (0 will disable cache)")
mountOptions.dataCenter = cmdMount.Flag.String("dataCenter", "", "prefer to write to the data center")
mountOptions.allowOthers = cmdMount.Flag.Bool("allowOthers", true, "allows other users to access the file system")
mountOptions.umaskString = cmdMount.Flag.String("umask", "022", "octal umask, e.g., 022, 0111")
mountOptions.umaskString = cmdMount.Flag.String("umask", "000", "octal umask, e.g., 022, 0111")
mountOptions.nonempty = cmdMount.Flag.Bool("nonempty", false, "allows the mounting over a non-empty directory")
mountCpuProfile = cmdMount.Flag.String("cpuprofile", "", "cpu profile output file")
mountMemProfile = cmdMount.Flag.String("memprofile", "", "memory profile output file")

View file

@ -12,6 +12,7 @@ import (
"runtime"
"strconv"
"strings"
"syscall"
"time"
"github.com/seaweedfs/fuse"
@ -91,9 +92,11 @@ func RunMount(option *MountOptions, umask os.FileMode) bool {
// detect mount folder mode
if *option.dirAutoCreate {
os.MkdirAll(dir, os.FileMode(0777) &^ umask)
oldMask := syscall.Umask(0)
os.MkdirAll(dir, os.ModePerm&^umask)
syscall.Umask(oldMask)
}
mountMode := os.ModeDir | 0755
mountMode := os.ModeDir | 0777
fileInfo, err := os.Stat(dir)
if err == nil {
mountMode = os.ModeDir | fileInfo.Mode()