windows - 检查应用程序是否在 golang 中以管理员身份运行

标签 windows go administrator

在 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/

相关文章:

Python 不会从命令行中提取多个参数

windows - Inno Setup - 在自定义页面上使用进度条复制文件

docker - 没有这样的主机,我通过端口转发连接到服务器上的 kafka 代理

go - 在 go lang 中分析 http 处理程序

windows - 如何在 Windows 设备管理器下导出设备的属性 -> 详细信息?

powershell - 如何在管理员模式下从 PowerShell 启动进程?

windows - 如果在管理员模式下运行,批处理文件的工作方式会有所不同

c++ - Windows XP 上的 TBB(在 OpenCV 中使用)- 错误入口点 InitializeCriticalSectionEx

c - 如何在我的 C 程序中捕获此 "This application has requested the Runtime to terminate it in an unusual way"错误?

macos - 命令未找到 go — 安装 Go 后在 Mac 上