The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

getpwnam (3)
  • getpwnam (3) ( Solaris man: Библиотечные вызовы )
  • getpwnam (3) ( FreeBSD man: Библиотечные вызовы )
  • >> getpwnam (3) ( Русские man: Библиотечные вызовы )
  • getpwnam (3) ( Linux man: Библиотечные вызовы )
  • getpwnam (3) ( POSIX man: Библиотечные вызовы )
  •  

    НАЗВАНИЕ

    getpwnam, getpwuid - получают запись из файла паролей  

    СИНТАКСИС

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

    ОПИСАНИЕ

    Функция getpwnam() возвращает указатель на структуру, содержащую поля строки из файла /etc/passwd для записи, совпадающей с именем пользователя name.

    Функция getpwuid() возвращает указатель на структуру, содержащую поля строки из файла /etc/passwd для записи, совпадающей с идентификатором пользователя uid.

    Структура 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;      /* программа-оболочка */
    };
    
    
     

    ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ

    Функции getpwnam() и getpwuid() возвращают указатель на структуру passwd или NULL, если искомая запись не найдена или произошла ошибка.  

    НАЙДЕННЫЕ ОШИБКИ

    0 или ENOENT или ESRCH или EBADF или EPERM или ...
    Заданное name или gid не найдены.
    ENOMEM
    Недостаточно памяти для размещения структуры passwd.
    EIO
    Ошибка ввода/вывода.
    EINTR
    Был пойман сигнал.
    EMFILE
    В вызывающем процессе достигнуто максимальное число (OPEN_MAX) файлов.
    ENFILE
    В системе уже достигнуто максимальное число файлов.
     

    ФАЙЛЫ

    /etc/passwd
    (файл базы данных паролей).
     

    СООТВЕТСТВИЕ СТАНДАРТАМ

    SVID 3, POSIX, BSD 4.3  

    ЗАМЕЧАНИЯ

    Выводы, указанные выше в разделе "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ", взяты из POSIX.1-2001. При этом никогда не вызывается ошибка "not found/не найдено", так как не определено никакое значение переменной errno в этой ситуации. Но это приводит к тому, что ошибка может быть не распознана. Поэтому считается, что в соответствии с POSIX errno должно оставаться неизменным, если элемент не был найден. Опыты с разными Unix-подобными системами показывают, что в этой ситуации возвращаются абсолютно разные значения: 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM и другие.  

    СМ. ТАКЖЕ

    fgetpwent(3), getgrnam(3), getpwent(3), setpwent(3), endpwent(3), getpw(3), putpwent(3), passwd(5)


     

    Index

    НАЗВАНИЕ
    СИНТАКСИС
    ОПИСАНИЕ
    ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
    НАЙДЕННЫЕ ОШИБКИ
    ФАЙЛЫ
    СООТВЕТСТВИЕ СТАНДАРТАМ
    ЗАМЕЧАНИЯ
    СМ. ТАКЖЕ


    Поиск по тексту MAN-ов: 




    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру