aboutsummaryrefslogtreecommitdiff
path: root/weed/filesys/dir.go
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2022-01-12 23:58:11 -0800
committerchrislu <chris.lu@gmail.com>2022-01-12 23:58:11 -0800
commitf2847f1266fc5f450e819ebe427c30cebda6843d (patch)
treedf244a6988b160e2cf8a4b1e9f0b17cda5e6a802 /weed/filesys/dir.go
parent0c75f15062c931d457fb52a079ca22fbb4679247 (diff)
downloadseaweedfs-f2847f1266fc5f450e819ebe427c30cebda6843d.tar.xz
seaweedfs-f2847f1266fc5f450e819ebe427c30cebda6843d.zip
POSIX: check deletion permission
Diffstat (limited to 'weed/filesys/dir.go')
-rw-r--r--weed/filesys/dir.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/weed/filesys/dir.go b/weed/filesys/dir.go
index 53633b2f1..be140e8df 100644
--- a/weed/filesys/dir.go
+++ b/weed/filesys/dir.go
@@ -424,6 +424,10 @@ func findFileType(mode uint16) fuse.DirentType {
func (dir *Dir) Remove(ctx context.Context, req *fuse.RemoveRequest) error {
+ if err := checkPermission(dir.entry, req.Uid, req.Gid, true); err != nil {
+ return err
+ }
+
if !req.Dir {
return dir.removeOneFile(req)
}