gpt4 book ai didi

go - 带有sudo的os.UserHomeDir()返回/root

转载 作者:行者123 更新时间:2023-12-01 20:23:17 33 4
gpt4 key购买 nike

我正在运行一个CLI应用程序,并使用os.UserHomeDir func保存一些文件,它返回如下内容:/home/victor/.rit,但是当我使用sudo运行命令时,它返回:/root/.rit/,我想使用sudo或s得到相同的地址不是,有办法做到这一点吗?

最佳答案

如果您的Go程序必须使用sudo运行,则可以通过以下方式在sudo之前找到原始用户身份:

username := os.Getenv("SUDO_USER")
那么您可以查找他们的用户信息:
import "os/user"

u, err := user.Lookup(username)
if err != nil {
log.Fatal(err)
}
fmt.Println("user home:", u.HomeDir)

关于go - 带有sudo的os.UserHomeDir()返回/root,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63724399/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com