Spec-Zone.ru › Haskell 7

System.Posix.User

Авторские права (c) The University of Glasgow 2002
Лицензия BSD-стиль (см. файл libraries/base/LICENSE)
Поддержка libraries@haskell.org
Стабильность предварительная
Переносимость непереносимый (требуется POSIX)
Безопасный Haskell Надежный
Язык Haskell2010

Содержание

  • Окружение пользователя
    • Запрос окружения пользователя
      • База данных групп
      • База данных пользователей
    • Изменение окружения пользователя

Описание

Поддержка пользователей/групп POSIX

Окружение пользователя

Запрос окружения пользователя

getRealUserID :: IO UserID Исходный код

getRealUserID вызывает getuid для получения реального UserID, связанного с текущим процессом.

getRealGroupID :: IO GroupID Исходный код

getRealGroupID вызывает getgid для получения реальной GroupID, связанной с текущим процессом.

getEffectiveUserID :: IO UserID Исходный код

getEffectiveUserID вызывает geteuid для получения эффективного UserID текущего процесса.

getEffectiveGroupID :: IO GroupID Исходный код

getEffectiveGroupID вызывает getegid для получения эффективной GroupID текущего процесса.

getGroups :: IO [GroupID] Исходный код

getGroups вызывает getgroups для получения списка дополнительных GroupID текущего процесса.

getLoginName :: IO String Исходный код

getLoginName вызывает getlogin для получения имени пользователя, связанного с текущим процессом.

getEffectiveUserName :: IO String Исходный код

getEffectiveUserName получает имя, связанное с эффективной UserID процесса.

База данных групп

data GroupEntry Исходный код

Конструкторы

GroupEntry

Поля

groupName :: String

Имя этой группы (gr_name)

groupPassword :: String

Пароль для этой группы (gr_passwd)

groupID :: GroupID

Уникальный числовой идентификатор этой группы (gr_gid)

groupMembers :: [String]

Список нулевых или более имён пользователей, которые являются членами (gr_mem)

Реализации

Eq GroupEntry
Read GroupEntry
Show GroupEntry

getGroupEntryForID :: GroupID -> IO GroupEntry Исходный код

getGroupEntryForID gid вызывает getgrgid_r для получения информации о GroupEntry , связанной с GroupID gid. Эта операция может завершиться ошибкой isDoesNotExistError, если такая группа не существует.

getGroupEntryForName :: String -> IO GroupEntry Исходный код

getGroupEntryForName name вызывает getgrnam_r для получения информации о GroupEntry связанной с группой под названием name. Эта операция может завершиться ошибкой isDoesNotExistError, если такая группа не существует.

getAllGroupEntries :: IO [GroupEntry] Исходный код

getAllGroupEntries возвращает все записи о группах в системе, многократно вызывая getgrent

База данных пользователей

data UserEntry Исходный код

Конструкторы

UserEntry

Поля

userName :: String

Текстовое имя этого пользователя (pw_name)

userPassword :: String

Пароль — может быть пустым или фейковым, если используется shadow (pw_passwd)

userID :: UserID

Числовой идентификатор этого пользователя (pw_uid)

userGroupID :: GroupID

Основной идентификатор группы (pw_gid)

userGecos :: String

Обычно реальное имя пользователя (pw_gecos)

homeDirectory :: String

Директория пользователя (pw_dir)

userShell :: String

Умолчанная оболочка (pw_shell)

Реализации

Eq UserEntry
Read UserEntry
Show UserEntry

getUserEntryForID :: UserID -> IO UserEntry Исходный код

getUserEntryForID gid вызывает getpwuid_r для получения информации о UserEntry пользователя, соответствующего UserID uid. Эта операция может завершиться ошибкой isDoesNotExistError , если такой пользователь не найден.

getUserEntryForName :: String -> IO UserEntry Source

getUserEntryForName name вызывает getpwnam_r для получения информации о пользователе, связанной с UserEntry входом. Эта операция может завершиться ошибкой isDoesNotExistError, если такой пользователь не существует.

getAllUserEntries :: IO [UserEntry] Source

getAllUserEntries возвращает все записи о пользователях в системе, многократно вызывая getpwent

Изменение среды пользователя

setUserID :: UserID -> IO () Source

setUserID uid вызывает setuid для установки реального, эффективного и сохранённого идентификаторов пользователя, связанных с текущим процессом, на uid.

setGroupID :: GroupID -> IO () Source

setGroupID gid вызывает setgid для установки реального, эффективного и сохранённого идентификаторов группы, связанных с текущим процессом, на gid.

setEffectiveUserID :: UserID -> IO () Source

setEffectiveUserID uid вызывает seteuid для установки эффективного идентификатора пользователя, связанного с текущим процессом, на uid. Это не обновляет реальный идентификатор пользователя или идентификатор пользователя по умолчанию.

setEffectiveGroupID :: GroupID -> IO () Source

setEffectiveGroupID uid вызывает setegid для установки эффективного идентификатора группы, связанного с текущим процессом, на gid. Это не обновляет реальный идентификатор группы или идентификатор группы по умолчанию.

setGroups :: [GroupID] -> IO () Source

setGroups вызывает setgroups для установки списка дополнительных GroupID групп, связанных с текущим процессом.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API