getpass(3)

НАИМЕНОВАНИЕ
getpass - запрашивает пароль

БИБЛИОТЕКА
Стандартная библиотека языка C (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

СТАНДАРТЫ
Отсутствуют.

ИСТОРИЯ
Version 7 AT&T UNIX. Present in SUSv2, but marked LEGACY. Removed in 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 (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков (<debian-l10n-russian@lists.debian.org>).