permissions: improve rename

Allow to enable rename permission in a more controlled way granting "delete"
permission on source directory and "upload" permission on target directory
This commit is contained in:
Nicola Murino
2020-06-13 23:49:28 +02:00
parent 3d48fa7382
commit 73a9c002e0
5 changed files with 53 additions and 9 deletions

View File

@@ -751,7 +751,9 @@ func (c Connection) isRenamePermitted(sourcePath string, request *sftp.Request)
return false
}
}
if !c.User.HasPerm(dataprovider.PermRename, path.Dir(request.Target)) {
if !c.User.HasPerm(dataprovider.PermRename, path.Dir(request.Target)) &&
(!c.User.HasPerm(dataprovider.PermDelete, path.Dir(request.Filepath)) ||
!c.User.HasPerm(dataprovider.PermUpload, path.Dir(request.Target))) {
return false
}
return true