Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
46 lines (33 sloc) 907 Bytes

#User IDgroup 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
You can’t perform that action at this time.