From 6fe071175dec7bb7db482dfb8506e9471d4a9e6f Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Sun, 10 Mar 2019 19:45:40 -0700 Subject: [PATCH] mount: add option to disable allow others fix https://github.com/chrislusf/seaweedfs/issues/877 --- weed/command/mount.go | 2 ++ weed/command/mount_std.go | 13 ++++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/weed/command/mount.go b/weed/command/mount.go index e61f16783..760c68e40 100644 --- a/weed/command/mount.go +++ b/weed/command/mount.go @@ -17,6 +17,7 @@ type MountOptions struct { ttlSec *int chunkSizeLimitMB *int dataCenter *string + allowOthers *bool } var ( @@ -37,6 +38,7 @@ func init() { mountOptions.ttlSec = cmdMount.Flag.Int("ttl", 0, "file ttl in seconds") mountOptions.chunkSizeLimitMB = cmdMount.Flag.Int("chunkSizeLimitMB", 4, "local write buffer size, also chunk large files") 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") mountCpuProfile = cmdMount.Flag.String("cpuprofile", "", "cpu profile output file") mountMemProfile = cmdMount.Flag.String("memprofile", "", "memory profile output file") } diff --git a/weed/command/mount_std.go b/weed/command/mount_std.go index 3e4249bfc..2b274e200 100644 --- a/weed/command/mount_std.go +++ b/weed/command/mount_std.go @@ -56,8 +56,7 @@ func runMount(cmd *Command, args []string) bool { util.SetupProfiling(*mountCpuProfile, *mountMemProfile) - c, err := fuse.Mount( - *mountOptions.dir, + options := []fuse.MountOption{ fuse.VolumeName("SeaweedFS"), fuse.FSName("SeaweedFS"), fuse.Subtype("SeaweedFS"), @@ -67,13 +66,17 @@ func runMount(cmd *Command, args []string) bool { fuse.AutoXattr(), fuse.ExclCreate(), fuse.DaemonTimeout("3600"), - fuse.AllowOther(), fuse.AllowSUID(), fuse.DefaultPermissions(), - fuse.MaxReadahead(1024*128), + fuse.MaxReadahead(1024 * 128), fuse.AsyncRead(), fuse.WritebackCache(), - ) + } + if *mountOptions.allowOthers { + options = append(options, fuse.AllowOther()) + } + + c, err := fuse.Mount(*mountOptions.dir, options...) if err != nil { glog.Fatal(err) return false