System.Posix.User
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 |
Contents
Description
POSIX user/group support
User environment
Querying the user environment
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 GroupID
s 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.
The group database
data GroupEntry Source
Constructors
GroupEntry | |
Fields
|
Instances
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
The user database
Constructors
UserEntry | |
Fields
|
getUserEntryForID :: UserID -> IO UserEntry Source
getUserEntryForID gid
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
Modifying the user environment
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 GroupID
s 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/7.10.3/docs/html/libraries/unix-2.7.1.0/System-Posix-User.html