GETPASS(3) FreeBSD ライブラリ関数マニュアル GETPASS(3)
名称
getpass − パスワードを取得 |
書式
#include <pwd.h> char * |
getpass(const char *prompt); |
解説 |
getpass() 関数は /dev/tty にプロンプトを表示し、パスワードをそこから読み 込みます。ファイルにアクセスできない場合、 getpass() はプロンプトを標準エ ラー出力に表示し、標準入力からパスワードを読み込みます。 パスワードの長さは最大 _PASSWORD_LEN (現在 128) キャラクタまで可能です。 それを超えるキャラクタと終端の改行キャラクタは廃棄されます。 パスワードの読み込み中、 getpass() 関数はキャラクタのエコーをオフにしま す。 |
戻り値
getpass() 関数は、 null で終わるパスワードのポインタを返します。 |
関連ファイル
/dev/tty
関連項目 |
歴史
getpass() 関数は、 Version 7 AT&T UNIX で最初に取り入れられました。 |
バグ
getpass() 関数は内部静的オブジェクトに処理結果を残し、オブジェクトのポイ ンタを返します。以後の getpass() 呼び出しが同じオブジェクトを改変します。 クリアテキストパスワードが、この処理のアドレス空間に可視の状態で残るのを 回避するためには、この関数の呼び出し処理によってできるだけ早くパスワード をゼロにする必要があります。 SIGTSTP を受け取ると入力バッファはフラッシュされます。したがって処理を継 続する場合は、一部タイプ指定したパスワードはすべて再入力する必要がありま す。 FreeBSD 10.0 June 4, 1993 FreeBSD 10.0 |