瀏覽代碼

fix using rsync if running sftpgo as non-root user (#1535)

Signed-off-by: Jerome Küttner <j.kuettner@mittwald.de>
JK 1 年之前
父節點
當前提交
2bbd8b3a5f
共有 1 個文件被更改,包括 3 次插入1 次删除
  1. 3 1
      internal/sftpd/cmd_unix.go

+ 3 - 1
internal/sftpd/cmd_unix.go

@@ -18,12 +18,14 @@
 package sftpd
 
 import (
+	"os"
 	"os/exec"
 	"syscall"
 )
 
 func wrapCmd(cmd *exec.Cmd, uid, gid int) *exec.Cmd {
-	if uid > 0 || gid > 0 {
+	isCurrentUser := os.Getuid() == uid && os.Getgid() == gid
+	if (uid > 0 || gid > 0) && !isCurrentUser {
 		cmd.SysProcAttr = &syscall.SysProcAttr{}
 		cmd.SysProcAttr.Credential = &syscall.Credential{Uid: uint32(uid), Gid: uint32(gid)}
 	}