Involved Source Fileslookup.go
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 overridden by using osusergo build tag, which enforces
the pure Go implementation.
cgo_lookup_unix.gogetgrouplist_darwin.golistgroups_unix.go
Package-Level Type Names (total 26, in which 6 are exported)
UnknownGroupError is returned by LookupGroup when
a group cannot be found.
( T) Error() string
T : error
UnknownGroupIdError is returned by LookupGroupId when
a group cannot be found.
( T) Error() string
T : error
UnknownUserError is returned by Lookup when
a user cannot be found.
( T) Error() string
T : error
UnknownUserIdError is returned by LookupId when a user cannot be found.
( T) Error() string
T : error
User represents a user account.
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.
HomeDir is the path to the user's home directory (if they have one).
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.
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.
Username is the login name.
GroupIds returns the list of group IDs that the user is a member of.
func Current() (*User, error)
func Lookup(username string) (*User, error)
func LookupId(uid string) (*User, error)
func buildUser(pwd *_Ctype_struct_passwd) *User
func current() (*User, error)
func lookupUnixUid(uid int) (*User, error)
func lookupUser(username string) (*User, error)
func lookupUserId(uid string) (*User, error)
func listGroups(u *User) ([]string, error)
Package-Level Functions (total 39, in which 5 are exported)
Current returns the current user.
The first call will cache the current user information.
Subsequent calls will return the cached value and will not reflect
changes to the current user.
Lookup looks up a user by username. If the user cannot be found, the
returned error is of type UnknownUserError.
LookupGroup looks up a group by name. If the group cannot be found, the
returned error is of type UnknownGroupError.
LookupGroupId looks up a group by groupid. If the group cannot be found, the
returned error is of type UnknownGroupIdError.
LookupId looks up a user by userid. If the user cannot be found, the
returned error is of type UnknownUserIdError.
retryWithBuffer repeatedly calls f(), increasing the size of the
buffer each time, until f succeeds, fails with a non-ERANGE error,
or the buffer exceeds a reasonable limit.
The pages are generated with Goldsv0.3.2-preview. (GOOS=darwin GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds.