08.20 User ID和group ID

在本章的最后一节中,你将学习如何查找当前用户的用户ID以及当前用户所属的组ID。用户ID和组ID都是保存在UNIX系统文件中的正整数。

程序名为ids.go,分为两部分。第一部分代码如下:

package main

import (
    "fmt"
    "os"
    "os/user"
)

func main() {
    fmt.Println("User id:", os.Getuid())

查找当前用户的用户ID与调用os.Getuid()函数一样简单。

ids.go第二部分代码如下:

    var u *user.User
    u, _ = user.Current()
    fmt.Print("Group ids: ")
    groupIDs, _ := u.GroupIds()
    for _, i := range groupIDs {
        fmt.Print(i, " ")
    }
    fmt.Println()
}

另一方面,查找用户所属的组ID是一项更棘手的任务。

执行ids.go输出如下:

$ go run ids.go
User id: 501
Group ids: 20 701 12 61 79 80 81 98 33 100 204 250 395 398 399

Last updated