Пакет os/user языка программирования Go

Пакет user позволяет искать учетные записи пользователей по имени или идентификатору.

Для большинства систем Unix этот пакет имеет две внутренние реализации преобразования идентификаторов пользователей и групп в имена, а также вывода списка дополнительных идентификаторов групп. Одна из них написана на чистом Go и анализирует файлы /etc/passwd и /etc/group. Другая основана на cgo и использует стандартные процедуры библиотеки C (libc), такие как getpwuid_r, getgrnam_r и getgrouplist.

Если cgo доступен, а необходимые процедуры реализованы в libc для конкретной платформы, используется код на основе cgo (с поддержкой libc). Это можно переопределить с помощью тега сборки osusergo, который принудительно использует реализацию на чистом Go.

type Group

type Group struct {
    Gid  string // идентификатор группы
    Name string // название группы
}

Group представляет группу пользователей.

В системах POSIX Gid содержит десятичное число, представляющее идентификатор группы.

func LookupGroup

func LookupGroup(name string) (*Group, error)

LookupGroup ищет группу по имени. Если группа не найдена, возвращается ошибка типа UnknownGroupError.

func LookupGroupId

func LookupGroupId(gid string) (*Group, error)

LookupGroupId ищет группу по groupid. Если группа не найдена, возвращается ошибка типа UnknownGroupIdError.

type UnknownGroupError

type UnknownGroupError string

UnknownGroupError возвращается LookupGroup, когда группа не может быть найдена.

func (UnknownGroupError) Error

func (e UnknownGroupError) Error() string

type UnknownGroupIdError

type UnknownGroupIdError string

UnknownGroupIdError возвращается LookupGroupId, когда группа не может быть найдена.

func (UnknownGroupIdError) Error

func (e UnknownGroupIdError) Error() string

type UnknownUserError

type UnknownUserError string

UnknownUserError возвращается Lookup, когда пользователь не может быть найден.

func (UnknownUserError) Error

func (e UnknownUserError) Error() string

type UnknownUserIdError

type UnknownUserIdError int

UnknownUserIdError возвращается LookupId, когда пользователь не может быть найден.

func (UnknownUserIdError) Error

func (e UnknownUserIdError) Error() string

type User ¶

type User struct {
    // Uid — это идентификатор пользователя.
	// В системах POSIX это десятичное число, представляющее uid.
    // В Windows это идентификатор безопасности (SID) в формате строки.
    // В Plan 9 это содержимое /dev/user.
    Uid string
    // Gid — это идентификатор основной группы.
    // В системах POSIX это десятичное число, представляющее gid.
	// В Windows это SID в формате строки.
    // В Plan 9 это содержимое /dev/user.
    Gid string
    // Username — это имя для входа в систему.
    Username string
    // Name — это настоящее или отображаемое имя пользователя.
    // Оно может быть пустым.
    // В системах POSIX это первая (или единственная) запись в поле GECOS
	// списка GECOS.
    // В Windows это отображаемое имя пользователя.
    // В Plan 9 это содержимое /dev/user.
    Строка имени
    // HomeDir — это путь к домашнему каталогу пользователя (если он есть).
    Строка HomeDir
}

User представляет учетную запись пользователя.

func Current

func Current() (*User, error)

Current возвращает текущего пользователя.

При первом вызове информация о текущем пользователе будет сохранена в кэше. Последующие вызовы будут возвращать значение из кэша и не будут отражать изменения текущего пользователя.

func Lookup

func Lookup(username string) (*User, error)

Lookup ищет пользователя по имени. Если пользователь не найден, возвращается ошибка типа UnknownUserError.

func LookupId

func LookupId(uid string) (*User, error)

LookupId ищет пользователя по идентификатору. Если пользователь не найден, возвращается ошибка типа UnknownUserIdError.

func (*User) GroupIds

func (u *User) GroupIds() ([]string, error)

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