diff --git a/pkg/daemon/elevate/elevate_others.go b/pkg/daemon/elevate/elevate_others.go index 5077f02d..d9e8a789 100644 --- a/pkg/daemon/elevate/elevate_others.go +++ b/pkg/daemon/elevate/elevate_others.go @@ -4,26 +4,16 @@ package elevate import ( "context" - "flag" "os" "os/exec" - "runtime" "golang.org/x/sys/unix" - "k8s.io/client-go/tools/clientcmd" plog "github.com/wencaiwulue/kubevpn/v2/pkg/log" ) func RunCmdWithElevated(exe string, args []string) error { - // fix if startup with normal user, after elevated home dir will change to root user in linux - // but unix don't have this issue - if runtime.GOOS == "linux" && flag.Lookup("kubeconfig") == nil { - if _, err := os.Stat(clientcmd.RecommendedHomeFile); err == nil { - os.Args = append(os.Args, "--kubeconfig", clientcmd.RecommendedHomeFile) - } - } - cmd := exec.Command("sudo", append([]string{"--preserve-env", "--background", exe}, args...)...) + cmd := exec.Command("sudo", append([]string{"--preserve-env=HOME", "--background", exe}, args...)...) plog.G(context.Background()).Debug(cmd.Args) cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr @@ -41,13 +31,6 @@ func RunCmdWithElevated(exe string, args []string) error { } func RunCmd(exe string, args []string) error { - // fix if startup with normal user, after elevated home dir will change to root user in linux - // but unix don't have this issue - if runtime.GOOS == "linux" && flag.Lookup("kubeconfig") == nil { - if _, err := os.Stat(clientcmd.RecommendedHomeFile); err == nil { - os.Args = append(os.Args, "--kubeconfig", clientcmd.RecommendedHomeFile) - } - } cmd := exec.Command(exe, args...) cmd.SysProcAttr = &unix.SysProcAttr{ Setpgid: true, diff --git a/pkg/daemon/elevate/elevatecheck_others.go b/pkg/daemon/elevate/elevatecheck_others.go index 6bf0e6c7..9dd2239a 100644 --- a/pkg/daemon/elevate/elevatecheck_others.go +++ b/pkg/daemon/elevate/elevatecheck_others.go @@ -24,7 +24,7 @@ func RunWithElevated() { os.Args = append(os.Args, "--kubeconfig", clientcmd.RecommendedHomeFile) } } - cmd := exec.Command("sudo", append([]string{"--preserve-env"}, os.Args...)...) + cmd := exec.Command("sudo", append([]string{"--preserve-env=HOME"}, os.Args...)...) plog.G(context.Background()).Debug(cmd.Args) cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr