株式会社エスロジカル
株式会社エスロジカル
セキュリティ、Web開発、Unix開発、Go言語

■ UNIX の C言語:getpass()でパスワード入力時の制御

技術ドキュメント目次 -> UNIX の C言語 -> getpass()でパスワード入力時の制御

本技術ドキュメントは、ここしばらくメンテナンスをしておりません。
内容が古くなっている可能性などございますこと、ご理解を頂けますようお願いいたします。


サイフにやさしいSSL証明書
【低価格SSL証明書】弊社運営の低価格SSL証明書販売サイト、翌月末払いなど請求書払いも可能。


◆ getpass()でパスワード入力時の制御

getpass() 関数を用いるとことで、
UNIXのC言語のプログラム内から、パスワード入力時の制御を簡単できるようになります。

telnet や ssh でリモート端末にログインするときに、
パスワードを入力することがあるかと思いますが、
その時に入力するパスワードはコンソールにエコーされていません。

そのようなエコーされないPW入力の制御を、getpass() 関数を用いて行うことができるようになります。

◆ getpass()サンプルプログラム

getpass()を使用したパスワード入力のサンプルプログラムを次に記載しますので、
よろしければご参考にされてください。

※RedHat Linux 7.3 と FreeBSD 5.3 でコンパイルが通ることを確認しました。

/*
 * getpass.c
 *
 * Copyright (C) 2006 Slogical Corporation
 */

#include <stdio.h>
#include <unistd.h>

int main (int argc, char **argv) {

        /* 変数定義
         */
        char *pass;

        /* getpass実行
         */
        pass = getpass("Enter PW :");

        /* 取得できた値の出力
         */
        printf(" --> Your PW is: %s\n", pass);

        return 0;
}


なお、実行すると次のようになります。

$ ./getpass
Enter PW : (ここで、mytestpassword と入力するが、その入力がエコーされない)
 --> Your PW is: mytestpassword
$




■ UNIX の C言語 についての他のドキュメント


■ 他のグループのドキュメント

Apache  /  Linux  /  FreeBSD  /  OpenSSL  /  Perl  /  HTTPプロトコル  /  Jakarta Tomcat  /  Java  /  NetBSD  /  Oracle  /  PostgreSQL  /  UNIX の C言語  /  UNIX のコマンド  /  Windows  /  bind  /  システム運用TIPS

アンケートにご協力をお願いいたします。

1. このドキュメントへの評価をご選択ください。
         

2. ご感想をお書きください。