登录
首页 >  Golang >  Go问答

从安全标识获取组名

来源:stackoverflow

时间:2024-02-21 12:36:24 189浏览 收藏

golang学习网今天将给大家带来《从安全标识获取组名》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!

问题内容

我想在 os/user 中使用 lookupgroupid 函数并定义如下:

func lookupgroupid(gid string) (*group, error) {
    return lookupgroupid(gid)
}

这是 lookupgroupid 定义:

func lookupgroupid(gid string) (*group, error) {
    sid, err := syscall.stringtosid(gid)
    if err != nil {
        return nil, err
    }
    groupname, _, t, err := sid.lookupaccount("")
    if err != nil {
        return nil, err
    }
    if t != syscall.sidtypegroup && t != syscall.sidtypewellknowngroup && t != syscall.sidtypealias {
        return nil, fmt.errorf("lookupgroupid: should be group account type, not %d", t)
    }
    return &group{name: groupname, gid: gid}, nil
}

我想运行查找,然后将名称和 sid 保存在一个变量中,该变量将是 group 类型的 var,如下所示:

var usergroup = user.group{gid: "", name: ""}

已经尝试过了,但没有任何反应。就像应用程序甚至不会将其保存在任何地方一样。

user.lookupgroupid("s-1-5-32-545") // users group sid

我哪一部分做错了?我也已经尝试过这段代码:

userGroup, _ = user.LookupGroupId("S-1-5-32-545")

但我收到此错误: 无法在多重分配中将*user.group分配给usergroup(类型为user.group)


解决方案


该错误指出您正在返回两个变量,但仅使用一个变量来捕获它。

你可以这样尝试,看看是否有效

userGroup, _ := user.LookupGroupId("S-1-5-32-545")

今天关于《从安全标识获取组名》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>