Provided by: manpages-ru-dev_4.23.1-1_all bug

ИМЯ

       getpw - восстанавливает строку пароля

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #define _GNU_SOURCE             /* смотрите feature_test_macros(7) */
       #include <sys/types.h>
       #include <pwd.h>

       [[deprecated]] int getpw(uid_t uid, char *buf);

ОПИСАНИЕ

       Функция  getpw()  заново  создаёт  в  буфере  строку  пароля  для  пользователя  с  ID  uid в буфере buf.
       Возвращаемый буфер содержит строку в формате

           name:passwd:uid:gid:gecos:dir:shell

       Структура passwd определена в <pwd.h> таким образом:

           struct passwd {
               char   *pw_name;       /* имя пользователя */
               char   *pw_passwd;     /* пароль пользователя */
               uid_t   pw_uid;        /* идентификатор пользователя */
               gid_t   pw_gid;        /* идентификатор группы */
               char   *pw_gecos;      /* информация о пользователе */
               char   *pw_dir;        /* домашний каталог */
               char   *pw_shell;      /* программная оболочка */
           };

       Подробней о полях этой структуры смотрите в passwd(5).

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

       При успешном выполнении getpw() возвращается 0; при ошибке возвращается -1,  а  в  errno  содержится  код
       ошибки.

       Если uid не найден в базе данных паролей, то getpw() возвращает -1, присваивает errno значение 0 и buf не
       изменяется.

ОШИБКИ

       0 или ENOENT
              Отсутствует пользователь с соответствующим uid.

       EINVAL Значение buf равно NULL.

       ENOMEM Недостаточно памяти для структуры passwd.

ФАЙЛЫ

       /etc/passwd
              файл, содержащий базу паролей

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).
       ┌───────────────────────────────────────────────────────────────┬──────────────────────┬────────────────┐
       │ ИнтерфейсАтрибутЗначение       │
       ├───────────────────────────────────────────────────────────────┼──────────────────────┼────────────────┤
       │ getpw()                                                       │ Безвредность в нитях │ MT-Safe locale │
       └───────────────────────────────────────────────────────────────┴──────────────────────┴────────────────┘

СТАНДАРТЫ

       None.

ИСТОРИЯ

       SVr2.

ОШИБКИ

       Функция  getpw()  является  в каком-то смысле опасной, так как может переполнить предоставляемый ей буфер
       buf. Она заменена на getpwuid(3).

СМОТРИТЕ ТАКЖЕ

       endpwent(3), fgetpwent(3), getpwent(3), getpwnam(3), getpwuid(3), putpwent(3), setpwent(3), passwd(5)

ПЕРЕВОД

       Русский перевод этой страницы руководства разработал Azamat Hackimov <azamat.hackimov@gmail.com>,  Dmitry
       Bolkhovskikh     <d20052005@yandex.ru>,     Vladislav     <ivladislavefimov@gmail.com>,    Yuri    Kozlov
       <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

       Этот перевод является свободной программной документацией; он распространяется на условиях  общедоступной
       лицензии  GNU  (GNU  General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите  об  этом
       разработчику по его адресу электронной почты или по адресу списка рассылки русских переводчиков.

Linux man-pages 6.8                               2 мая 2024 г.                                         getpw(3)