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