UNIX の C言語:getpass()でパスワード入力時の制御
技術ドキュメント目次 -> UNIX の C言語 -> getpass()でパスワード入力時の制御本技術ドキュメントは、2002~2004年頃に作成したものが多いです。
内容が古くなっていることもあるかと思いますが、ご了承ください。
【低価格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言語 についての他のドキュメント
- iconv()で文字コード変換
- getloadavg()でロードアベレージの取得
- getpass()でパスワード入力時の制御
- forkとexec
- gccのstaticオプション
■ 他のグループのドキュメント
Apache / Linux / FreeBSD / OpenSSL / Perl / HTTPプロトコル / Jakarta Tomcat / Java / NetBSD / Oracle / PostgreSQL / UNIX の C言語 / UNIX のコマンド / Windows / bind / システム運用TIPS