スポンサーリンク

GETPASS(3) FreeBSD ライブラリ関数マニュアル GETPASS(3)

名称

getpass − パスワードを取得

書式

#include <pwd.h>
#include <unistd.h>

char *

getpass(const char *prompt);

解説

getpass() 関数は /dev/tty にプロンプトを表示し、パスワードをそこから読み 込みます。ファイルにアクセスできない場合、 getpass() はプロンプトを標準エ ラー出力に表示し、標準入力からパスワードを読み込みます。

パスワードの長さは最大 _PASSWORD_LEN (現在 128) キャラクタまで可能です。 それを超えるキャラクタと終端の改行キャラクタは廃棄されます。

パスワードの読み込み中、 getpass() 関数はキャラクタのエコーをオフにしま す。

戻り値

getpass() 関数は、 null で終わるパスワードのポインタを返します。

関連ファイル

       /dev/tty

関連項目

crypt(3)

歴史

getpass() 関数は、 Version 7 AT&T UNIX で最初に取り入れられました。

バグ

getpass() 関数は内部静的オブジェクトに処理結果を残し、オブジェクトのポイ ンタを返します。以後の getpass() 呼び出しが同じオブジェクトを改変します。

クリアテキストパスワードが、この処理のアドレス空間に可視の状態で残るのを 回避するためには、この関数の呼び出し処理によってできるだけ早くパスワード をゼロにする必要があります。

SIGTSTP を受け取ると入力バッファはフラッシュされます。したがって処理を継 続する場合は、一部タイプ指定したパスワードはすべて再入力する必要がありま す。

FreeBSD 10.0 June 4, 1993 FreeBSD 10.0

スポンサーリンク