getpwuid()

Получить информацию о пользователе по идентификатору

Прототип:

#include <sys/types.h>
#include <pwd.h>
struct passwd * getpwuid( uid_t uid );

Аргументы:

uid
Идентификатор пользователя, запись о котором требуется найти.

Библиотека:

libc

Описание:

Функция getpwuid() получает информацию о пользователе uid. Эта функция использует статический буфер, который перезаписывается при каждом вызове.


Note: Функции getpwent(), getpwnam() и getpwuid() разделяют один статический буфер.

Возвращаемое значение:

Указатель на структуру struct passwd, содержащую запись из базы данных групп с совпадающим uid, или NULL в случае возникновения ошибки или невозможности найти запись.

Примеры:

/*
* Print password info on the current user.
*/
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <pwd.h>
int main( void )
{
struct passwd *pw;
if ( (pw = getpwuid( getuid() )) == NULL )
{
fprintf( stderr, "getpwuid: no password entry\n" );
return (EXIT_FAILURE);
}
printf( "login name %s\n", pw->pw_name );
printf( "user id %d\n", pw->pw_uid );
printf( "group id %d\n", pw->pw_gid );
printf( "home dir %s\n", pw->pw_dir );
printf( "login shell %s\n", pw->pw_shell );
return (EXIT_SUCCESS);
}

Классификация:

POSIX 1003.1

Безопасность использования
Точка остановки потока
Да
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Нет

Тематические ссылки:

struct passwd, getlogin(), getpwent(), getpwent_r(), getpwnam()




Предыдущий раздел: Описание API системной библиотеки