Provided by: manpages-ru-dev_4.21.0-2_all bug

ИМЯ

       getpass - запрашивает пароль

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #include <unistd.h>

       [[deprecated]] char *getpass(const char *prompt);

   Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

       getpass():
           Since glibc 2.2.2:
               _XOPEN_SOURCE && ! (_POSIX_C_SOURCE >= 200112L)
                   || /* glibc >= 2.19: */ _DEFAULT_SOURCE
                   || /* glibc <= 2.19: */ _BSD_SOURCE
           Before glibc 2.2.2:
               none

ОПИСАНИЕ

       This  function is obsolete.  Do not use it.  See NOTES.  If you want to read input without
       terminal echoing enabled, see the description of the ECHO flag in termios(3).

       Функция getpass() открывает  /dev/tty  (управляющий  терминал  процесса),  выводит  строку
       prompt, выключает показ выводимых символов, читает одну строку («пароль»), восстанавливает
       состояние терминала и закрывает /dev/tty.

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

       The function getpass()  returns a  pointer  to  a  static  buffer  containing  (the  first
       PASS_MAX  bytes  of)  the password without the trailing newline, terminated by a null byte
       ('\0').  This buffer may be overwritten by a following call.  On error, the terminal state
       is restored, errno is set to indicate the error, and NULL is returned.

ОШИБКИ

       ENXIO  Процесс не имеет управляющего терминала.

ФАЙЛЫ

       /dev/tty

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).

       ┌─────────────────────────────────────────────────┬──────────────────────┬────────────────┐
       │ИнтерфейсАтрибутЗначение       │
       ├─────────────────────────────────────────────────┼──────────────────────┼────────────────┤
       │getpass()                                        │ Безвредность в нитях │ MT-Unsafe term │
       └─────────────────────────────────────────────────┴──────────────────────┴────────────────┘

СТАНДАРТЫ

       Есть в SUSv2, но помечена как УСТАРЕВШАЯ. Удалена из POSIX.1-2001.

ЗАМЕЧАНИЯ

       You should use instead readpassphrase(3bsd), provided by libbsd.

       В  реализации  библиотеки  GNU  C,  если  файл  /dev/tty  не  может быть открыт, то строка
       приглашения выводится в поток ошибок stderr, а  пароль  читается  из  стандартного  потока
       ввода stdin. Ограничения на длину пароля нет и строку можно редактировать.

       Согласно SUSv2 значение PASS_MAX должно быть определено в <limits.h>, если оно меньше 8, и
       в любом случае может быть получено с помощью sysconf(_SC_PASS_MAX). Однако,  из  стандарта
       POSIX.2  константы  PASS_MAX, _SC_PASS_MAX и функция getpass() убраны. В glibc учитывается
       _SC_PASS_MAX и возвращается BUFSIZ (например, 8192).

ДЕФЕКТЫ

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

СМ. ТАКЖЕ

       crypt(3)

ПЕРЕВОД

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

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если вы обнаружите ошибки в переводе  этой  страницы  руководства,  пожалуйста,  отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.