【发布时间】:2015-02-06 14:22:08
【问题描述】:
在 Google Go 应用程序中,检查当前进程是否以管理员身份运行的最简单方法是什么?
【问题讨论】:
-
没有我知道的可以检查这个的包......但是,您可能只是尝试打开一个系统文件进行写入,如果出现错误,那么您肯定没有运行作为管理员。
标签: windows go administrator
在 Google Go 应用程序中,检查当前进程是否以管理员身份运行的最简单方法是什么?
【问题讨论】:
标签: windows go administrator
简短的回答是使用user.Current。 但是...
您需要找到一种方法,根据user.User 结构,确定用户是否为root。你必须自己解决这个问题。更重要的是,您不应将其用于安全目的。弄清楚当前用户是否是 root 而不被运行程序的人欺骗是非常棘手的。例如,在 Linux 上使用 setuid 二进制文件简单地实现这一点很容易受到用户的攻击,用户使用 LD_PRELOAD 来欺骗二进制文件,使其认为它是以 root 身份运行的。确保你要么,a)理解这个的确切语义,并且确信用户没有办法绕过它(如果你选择这条路线,你可能应该看看其他人是否已经弄清楚了),或者, b) 不要根据这些信息做出任何对安全至关重要的决定。
【讨论】: