Documentation ¶
Overview ¶
Package user contains methods for resolving filesystem paths based on the user and their environment.
Index ¶
- func FindGroupInGroupFile(group io.Reader, gidString string) auth.KGID
- func FindUIDGIDInPasswd(passwd io.Reader, user string) (auth.KUID, auth.KGID)
- func GetExecUIDGIDFromUser(ctx context.Context, vmns *vfs.MountNamespace, user string) (auth.KUID, auth.KGID)
- func MaybeAddExecUserHome(ctx context.Context, vmns *vfs.MountNamespace, uid auth.KUID, envv []string) ([]string, error)
- func ResolveExecutablePath(ctx context.Context, args *kernel.CreateProcessArgs) (string, error)
- type ExecutableResolveError
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FindGroupInGroupFile ¶
FindGroupInGroupFile parses a group file and returns the given group's gid. If the gid is a number, we don't need to read the file.
If we don't find the group, we return 0.
func FindUIDGIDInPasswd ¶
FindUIDGIDInPasswd parses a passwd file and returns the given user's uid and gid.
func GetExecUIDGIDFromUser ¶
func GetExecUIDGIDFromUser(ctx context.Context, vmns *vfs.MountNamespace, user string) (auth.KUID, auth.KGID)
GetExecUIDGIDFromUser retrieves the UID and GID from /etc/passwd file for the given user.
func MaybeAddExecUserHome ¶
func MaybeAddExecUserHome(ctx context.Context, vmns *vfs.MountNamespace, uid auth.KUID, envv []string) ([]string, error)
MaybeAddExecUserHome returns a new slice with the HOME environment variable set if the slice does not already contain it, otherwise it returns the original slice unmodified.
func ResolveExecutablePath ¶
ResolveExecutablePath resolves the given executable name given the working dir and environment. Returns *ExecutableResolveError when the executable cannot be resolved.
Types ¶
type ExecutableResolveError ¶
type ExecutableResolveError struct {
// contains filtered or unexported fields
}
ExecutableResolveError represents a failure to resolve the executable in ResolveExecutablePath.