Функция
getpw()
заново создает в буфере
buf
строку пароля (для указанного пользователя) с идентификатором
uid.
Возвращаемый буфер содержит строку в формате
name:passwd:uid:gid:gecos:dir:shell
Структура
passwd
определена в файле
<pwd.h>
следующим образом:
struct passwd {
char *pw_name; /* имя пользователя */
char *pw_passwd; /* пароль пользователя */
uid_t pw_uid; /* id пользователя */
gid_t pw_gid; /* id группы */
char *pw_gecos; /* реальное имя */
char *pw_dir; /* домашний каталог */
char *pw_shell; /* программа-оболочка */
};
ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
Функция
getpw()
возвращает 0 при удачном завершении вызова или -1 при ошибке.
НАЙДЕННЫЕ ОШИБКИ
ENOMEM
(недостаточно памяти для размещения структуры passwd).
ФАЙЛЫ
/etc/passwd
(файл базы данных паролей).
СООТВЕТСТВИЕ СТАНДАРТАМ
SYSVr2.
НАЙДЕННЫЕ ОШИБКИ
Функция
getpw()
является в каком-то смысле опасной, так как может переполнить предоставляемый ей буфер
buf.
Она заменяется более новой
getpwuid().