在Google Go应用程序中,检查当前进程是否以管理员身份运行的最简单方法是什么?
答案 0 :(得分:3)
简短的回答是使用user.Current
。的无论其... 强>
在给定user.User
结构的情况下,您需要找到一种方法来确定用户是否是root用户。你必须自己解决这个问题。更重要的是,您不应将此用于安全目的。确定当前用户是否是root 而不是被运行该程序的人谎言是非常棘手的。例如,在具有setuid二进制文件的Linux上使用setuid二进制文件的这种简单实现很容易让用户使用LD_PRELOAD来欺骗二进制文件,使其认为它以root身份运行。确保你要么a)理解这个的确切语义,并且确信用户无法绕过它(如果你选择这条路线,你应该只看其他人是否已经弄明白了),或者, b)不要根据这些信息做出任何关键的安全决定。