【问题标题】:Check if application is running as administrator in golang检查应用程序是否在 golang 中以管理员身份运行
【发布时间】:2015-02-06 14:22:08
【问题描述】:

在 Google Go 应用程序中,检查当前进程是否以管理员身份运行的最简单方法是什么?

【问题讨论】:

  • 没有我知道的可以检查这个的包......但是,您可能只是尝试打开一个系统文件进行写入,如果出现错误,那么您肯定没有运行作为管理员。

标签: windows go administrator


【解决方案1】:

简短的回答是使用user.Current但是...

您需要找到一种方法,根据user.User 结构,确定用户是否为root。你必须自己解决这个问题。更重要的是,您不应将其用于安全目的。弄清楚当前用户是否是 root 而不被运行程序的人欺骗是非常棘手的。例如,在 Linux 上使用 setuid 二进制文件简单地实现这一点很容易受到用户的攻击,用户使用 LD_PRELOAD 来欺骗二进制文件,使其认为它是以 root 身份运行的。确保你要么,a)理解这个的确切语义,并且确信用户没有办法绕过它(如果你选择这条路线,你可能应该看看其他人是否已经弄清楚了),或者, b) 不要根据这些信息做出任何对安全至关重要的决定。

【讨论】:

    猜你喜欢
    • 2017-09-15
    • 2011-05-20
    • 2021-08-28
    • 2020-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-08
    • 2012-01-15
    相关资源
    最近更新 更多