在 Google Go 应用程序中,检查当前进程是否以管理员身份运行的最简单方法是什么?
最佳答案
简短的回答是使用 user.Current
. 然而...
鉴于 user.User
,您需要找到一种方法struct,判断用户是否是root。你必须自己想办法。更重要的是,您不应出于安全目的使用它。在不被运行程序的人欺骗的情况下确定当前用户是否是 root 用户是非常棘手的。例如,使用 setuid 二进制文件在 Linux 上简单地实现它会容易受到用户使用 LD_PRELOAD 欺骗二进制文件认为它以 root 身份运行的攻击。确保你,a) 理解这个的确切语义,并确信用户没有办法绕过它(如果你选择这条路线,你可能应该看看其他人是否已经弄清楚了),或者, b) 不要根据此信息做出任何安全关键决策。
关于windows - 检查应用程序是否在 golang 中以管理员身份运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27366298/