| Copyright | (c) The University of Glasgow 2002 |
|---|---|
| License | BSD-style (see the file libraries/base/LICENSE) |
| Maintainer | [email protected] |
| Stability | provisional |
| Portability | non-portable (requires POSIX) |
| Safe Haskell | Trustworthy |
| Language | Haskell2010 |
POSIX user/group support
getRealUserID :: IO UserID Source
getRealUserID calls getuid to obtain the real UserID associated with the current process.
getRealGroupID :: IO GroupID Source
getRealGroupID calls getgid to obtain the real GroupID associated with the current process.
getEffectiveUserID :: IO UserID Source
getEffectiveUserID calls geteuid to obtain the effective UserID associated with the current process.
getEffectiveGroupID :: IO GroupID Source
getEffectiveGroupID calls getegid to obtain the effective GroupID associated with the current process.
getGroups :: IO [GroupID] Source
getGroups calls getgroups to obtain the list of supplementary GroupIDs associated with the current process.
getLoginName :: IO String Source
getLoginName calls getlogin to obtain the login name associated with the current process.
getEffectiveUserName :: IO String Source
getEffectiveUserName gets the name associated with the effective UserID of the process.
groupName :: GroupEntry -> String Source
groupPassword :: GroupEntry -> String Source
groupID :: GroupEntry -> GroupID Source
groupMembers :: GroupEntry -> [String] Source
pattern GroupEntry Source
| :: String | The name of this group (gr_name) |
| -> String | The password for this group (gr_passwd) |
| -> GroupID | The unique numeric ID for this group (gr_gid) |
| -> [String] | A list of zero or more usernames that are members (gr_mem) |
| -> GroupEntry |
Manually constructing GroupEntry in String modules is discouraged. It will truncate Chars to 8bit. Use ByteString instead.
getGroupEntryForID :: GroupID -> IO GroupEntry Source
getGroupEntryForID gid calls getgrgid_r to obtain the GroupEntry information associated with GroupID gid. This operation may fail with isDoesNotExistError if no such group exists.
getGroupEntryForName :: String -> IO GroupEntry Source
getGroupEntryForName name calls getgrnam_r to obtain the GroupEntry information associated with the group called name. This operation may fail with isDoesNotExistError if no such group exists.
getAllGroupEntries :: IO [GroupEntry] Source
getAllGroupEntries returns all group entries on the system by repeatedly calling getgrent
userName :: UserEntry -> String Source
userPassword :: UserEntry -> String Source
userID :: UserEntry -> UserID Source
userGroupID :: UserEntry -> GroupID Source
userGecos :: UserEntry -> String Source
homeDirectory :: UserEntry -> String Source
userShell :: UserEntry -> String Source
| :: String | Textual name of this user (pw_name) |
| -> String | Password -- may be empty or fake if shadow is in use (pw_passwd) |
| -> UserID | Numeric ID for this user (pw_uid) |
| -> GroupID | Primary group ID (pw_gid) |
| -> String | Usually the real name for the user (pw_gecos) |
| -> String | Home directory (pw_dir) |
| -> String | Default shell (pw_shell) |
| -> UserEntry |
Manually constructing UserEntry in String modules is discouraged. It will truncate Chars to 8bit. Use ByteString instead.
getUserEntryForID :: UserID -> IO UserEntry Source
getUserEntryForID uid calls getpwuid_r to obtain the UserEntry information associated with UserID uid. This operation may fail with isDoesNotExistError if no such user exists.
getUserEntryForName :: String -> IO UserEntry Source
getUserEntryForName name calls getpwnam_r to obtain the UserEntry information associated with the user login name. This operation may fail with isDoesNotExistError if no such user exists.
getAllUserEntries :: IO [UserEntry] Source
getAllUserEntries returns all user entries on the system by repeatedly calling getpwent
setUserID :: UserID -> IO () Source
setUserID uid calls setuid to set the real, effective, and saved set-user-id associated with the current process to uid.
setGroupID :: GroupID -> IO () Source
setGroupID gid calls setgid to set the real, effective, and saved set-group-id associated with the current process to gid.
setEffectiveUserID :: UserID -> IO () Source
setEffectiveUserID uid calls seteuid to set the effective user-id associated with the current process to uid. This does not update the real user-id or set-user-id.
setEffectiveGroupID :: GroupID -> IO () Source
setEffectiveGroupID uid calls setegid to set the effective group-id associated with the current process to gid. This does not update the real group-id or set-group-id.
setGroups :: [GroupID] -> IO () Source
setGroups calls setgroups to set the list of supplementary GroupIDs associated with the current process.
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.12.1/docs/libraries/unix-2.8.6.0-e212/System-Posix-User.html