|
| System.Posix.User | | Portability | non-portable (requires POSIX) | | Stability | provisional | | Maintainer | libraries@haskell.org |
|
|
|
|
|
| Description |
| POSIX user/group support
|
|
| Synopsis |
|
|
|
|
| User environment
|
|
| Querying the user environment
|
|
| getRealUserID :: IO UserID |
| getRealUserID calls getuid to obtain the real UserID
associated with the current process.
|
|
| getRealGroupID :: IO GroupID |
| getRealGroupID calls getgid to obtain the real GroupID
associated with the current process.
|
|
| getEffectiveUserID :: IO UserID |
| getEffectiveUserID calls geteuid to obtain the effective
UserID associated with the current process.
|
|
| getEffectiveGroupID :: IO GroupID |
| getEffectiveGroupID calls getegid to obtain the effective
GroupID associated with the current process.
|
|
| getGroups :: IO [GroupID] |
| getGroups calls getgroups to obtain the list of
supplementary GroupIDs associated with the current process.
|
|
| getLoginName :: IO String |
| getLoginName calls getlogin to obtain the login name
associated with the current process.
|
|
| getEffectiveUserName :: IO String |
| getEffectiveUserName gets the name
associated with the effective UserID of the process.
|
|
| The group database
|
|
| data GroupEntry |
| Constructors | | GroupEntry | | | groupName :: String | The name of this group (gr_name)
| | groupPassword :: String | The password for this group (gr_passwd)
| | groupID :: GroupID | The unique numeric ID for this group (gr_gid)
| | groupMembers :: [String] | A list of zero or more usernames that are members (gr_mem)
|
|
| Instances | |
|
|
| getGroupEntryForID :: GroupID -> IO GroupEntry |
| getGroupEntryForID gid calls getgrgid to obtain
the GroupEntry information associated with GroupID
gid.
|
|
| getGroupEntryForName :: String -> IO GroupEntry |
| getGroupEntryForName name calls getgrnam to obtain
the GroupEntry information associated with the group called
name.
|
|
| getAllGroupEntries :: IO [GroupEntry] |
| getAllGroupEntries returns all group entries on the system by
repeatedly calling getgrent
|
|
| The user database
|
|
| data UserEntry |
| Constructors | | UserEntry | | | userName :: String | Textual name of this user (pw_name)
| | userPassword :: String | Password -- may be empty or fake if shadow is in use (pw_passwd)
| | userID :: UserID | Numeric ID for this user (pw_uid)
| | userGroupID :: GroupID | Primary group ID (pw_gid)
| | userGecos :: String | Usually the real name for the user (pw_gecos)
| | homeDirectory :: String | Home directory (pw_dir)
| | userShell :: String | Default shell (pw_shell)
|
|
| Instances | |
|
|
| getUserEntryForID :: UserID -> IO UserEntry |
| getUserEntryForID gid calls getpwuid to obtain
the UserEntry information associated with UserID
uid.
|
|
| getUserEntryForName :: String -> IO UserEntry |
| getUserEntryForName name calls getpwnam to obtain
the UserEntry information associated with the user login
name.
|
|
| getAllUserEntries :: IO [UserEntry] |
| getAllUserEntries returns all user entries on the system by
repeatedly calling getpwent
|
|
| Modifying the user environment
|
|
| setUserID :: UserID -> IO () |
| setUserID uid calls setuid to set the real, effective, and
saved set-user-id associated with the current process to uid.
|
|
| setGroupID :: GroupID -> IO () |
| setGroupID gid calls setgid to set the real, effective, and
saved set-group-id associated with the current process to gid.
|
|
| Produced by Haddock version 2.1.0 |