Go: os/user Index | Files

package user

import "os/user"

Package user allows user account lookups by name or id.

For most Unix systems, this package has two internal implementations of resolving user and group ids to names. One is written in pure Go and parses /etc/passwd and /etc/group. The other is cgo-based and relies on the standard C library (libc) routines such as getpwuid_r and getgrnam_r.

When cgo is available, cgo-based (libc-backed) code is used by default. This can be overriden by using osusergo build tag, which enforces the pure Go implementation.

Index

Package Files

cgo_lookup_unix.go getgrouplist_unix.go listgroups_unix.go lookup.go user.go

type Group Uses

type Group struct {
    Gid  string // group ID
    Name string // group name
}

Group represents a grouping of users.

On POSIX systems Gid contains a decimal number representing the group ID.

func LookupGroup Uses

func LookupGroup(name string) (*Group, error)

LookupGroup looks up a group by name. If the group cannot be found, the returned error is of type UnknownGroupError.

func LookupGroupId Uses

func LookupGroupId(gid string) (*Group, error)

LookupGroupId looks up a group by groupid. If the group cannot be found, the returned error is of type UnknownGroupIdError.

type UnknownGroupError Uses

type UnknownGroupError string

UnknownGroupError is returned by LookupGroup when a group cannot be found.

func (UnknownGroupError) Error Uses

func (e UnknownGroupError) Error() string

type UnknownGroupIdError Uses

type UnknownGroupIdError string

UnknownGroupIdError is returned by LookupGroupId when a group cannot be found.

func (UnknownGroupIdError) Error Uses

func (e UnknownGroupIdError) Error() string

type UnknownUserError Uses

type UnknownUserError string

UnknownUserError is returned by Lookup when a user cannot be found.

func (UnknownUserError) Error Uses

func (e UnknownUserError) Error() string

type UnknownUserIdError Uses

type UnknownUserIdError int

UnknownUserIdError is returned by LookupId when a user cannot be found.

func (UnknownUserIdError) Error Uses

func (e UnknownUserIdError) Error() string

type User Uses

type User struct {
    // Uid is the user ID.
    // On POSIX systems, this is a decimal number representing the uid.
    // On Windows, this is a security identifier (SID) in a string format.
    // On Plan 9, this is the contents of /dev/user.
    Uid string
    // Gid is the primary group ID.
    // On POSIX systems, this is a decimal number representing the gid.
    // On Windows, this is a SID in a string format.
    // On Plan 9, this is the contents of /dev/user.
    Gid string
    // Username is the login name.
    Username string
    // Name is the user's real or display name.
    // It might be blank.
    // On POSIX systems, this is the first (or only) entry in the GECOS field
    // list.
    // On Windows, this is the user's display name.
    // On Plan 9, this is the contents of /dev/user.
    Name string
    // HomeDir is the path to the user's home directory (if they have one).
    HomeDir string
}

User represents a user account.

func Current Uses

func Current() (*User, error)

Current returns the current user.

func Lookup Uses

func Lookup(username string) (*User, error)

Lookup looks up a user by username. If the user cannot be found, the returned error is of type UnknownUserError.

func LookupId Uses

func LookupId(uid string) (*User, error)

LookupId looks up a user by userid. If the user cannot be found, the returned error is of type UnknownUserIdError.

func (*User) GroupIds Uses

func (u *User) GroupIds() ([]string, error)

GroupIds returns the list of group IDs that the user is a member of.

Package user imports 7 packages (graph) and is imported by 6195 packages. Updated 2018-12-15. Refresh now. Tools for package owners.