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
       или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

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

Linux man-pages 6.03                            5 февраля 2023 г.                                     getpass(3)