GETPASS(3)

名前
getpass - パスワードの取得

書式
#include <pwd.h>

char *getpass( const char * prompt );

説明
関数 getpass は標準エラー出力にプロンプトを表示して、パスワードを /dev/tty から読み込む。 もし /dev/tty にアクセスできなければ、 getpass は標準入力からパスワードを読み込む。

パスワードは末尾の NUL を含めて長さ128文字まで許される。 それ以上付加された任意の文字や(入力の終りを示す)終端の改行文字 は捨てられる。

getpass はパスワードを読み込む間、文字のエコー(表示)を抑制して端末特殊文字により 生成されるシグナル(control-C による interrupt や control-Z による suspend など)を無効にする。

返り値
getpass はヌル文字で終端されたパスワードへのポインタを返す。

ファイル
/dev/tty

関連項目
crypt(3)

履歴
getpass は Version 7 AT&T UNIX で登場した。

バグ
getpass は内部の静的なオブジェクトへ結果を残して、そこへのポインタを返す。 その後の getpass の呼び出しは同じオブジェクトを変更するだろう。

呼び出し側のプロセスは、パスワードの平文の置かれている領域がプロセスの アドレス空間の中で見えていることを避けるために、すみやかにパスワードを 消去(ゼロクリア)すべきである。