OSDN Git Service

(split) LDP: Update release pages
[linuxjm/LDP_man-pages.git] / release / man3 / getpass.3
index 2574168..574fd83 100644 (file)
@@ -1,5 +1,6 @@
 .\" Copyright (c) 2000 Andries Brouwer (aeb@cwi.nl)
 .\"
+.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
 .\" This is free documentation; you can redistribute it and/or
 .\" modify it under the terms of the GNU General Public License as
 .\" published by the Free Software Foundation; either version 2 of
 .\" GNU General Public License for more details.
 .\"
 .\" You should have received a copy of the GNU General Public
-.\" License along with this manual; if not, write to the Free
-.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
-.\" USA.
+.\" License along with this manual; if not, see
+.\" <http://www.gnu.org/licenses/>.
+.\" %%%LICENSE_END
 .\"
-.\" Japanese Version Copyright (c) 1997 Hiroaki Nagoya
-.\"         all rights reserved.
-.\" Translated Mon Sep 21 20:47:50 JST 1998 by Hiroaki Nagoya <nagoya@is.titech.ac.jp>
-.\" Updated&Modified Fri 9 Feb 2001 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
+.\"*******************************************************************
 .\"
-.TH GETPASS 3  2010-09-20 "Linux" "Linux Programmer's Manual"
-.SH Ì¾Á°
-getpass \- ¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¤¹¤ë
-.SH ½ñ¼°
-.B #include <unistd.h>
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH GETPASS 3 2013\-06\-21 Linux "Linux Programmer's Manual"
+.SH 名前
+getpass \- パスワードを取得する
+.SH 書式
+\fB#include <unistd.h>\fP
 .sp
-.BI "char *getpass( const char *" prompt );
+\fBchar *getpass( const char *\fP\fIprompt\fP\fB);\fP
 .sp
 .in -4n
-glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
-.RB ( feature_test_macros (7)
-»²¾È):
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
 .in
 .sp
-.BR getpass ():
+\fBgetpass\fP():
 .ad l
 .RS 4
 .PD 0
-.TP 4
-glibc 2.2.2 °Ê¹ß:
+.TP  4
+glibc 2.2.2 以降:
 .nf
 _BSD_SOURCE ||
     (_XOPEN_SOURCE\ >=\ 500 ||
         _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED) &&
     !(_POSIX_C_SOURCE\ >=\ 200112L || _XOPEN_SOURCE\ >=\ 600)
 .fi
-.TP 4
-glibc 2.2.2 ¤è¤êÁ°: ¤Ê¤·
+.TP  4
+glibc 2.2.2 より前:
+なし
 .PD
 .RE
 .ad b
-.SH ÀâÌÀ
-¤³¤Î´Ø¿ô¤Ï obsolete ¤Ç¤¢¤ë¡£ÍѤ¤¤Ê¤¤¤³¤È¡£
+.SH 説明
+この関数は時代遅れ (obsolete) である。使用しないこと。端末のエコーを有効にせずに入力の読み込みを行いたい場合は、 \fBtermios\fP(3)
+の \fIECHO\fP フラグの説明を参照のこと。
 .PP
-.BR getpass ()
-´Ø¿ô¤Ï
-.I /dev/tty
-(¥×¥í¥»¥¹¤ÎÀ©¸æüËö) ¤ò¥ª¡¼¥×¥ó¤·¡¢Ê¸»úÎó
-.I prompt
-¤ò½ÐÎϤ¹¤ë¡£¤½¤·¤Æ echo ¤ò¥ª¥Õ¤Ë¤·¡¢°ì¹Ô (¡Ö¥Ñ¥¹¥ï¡¼¥É¡×)
-¤òÆɤ߹þ¤ß¡¢Ã¼Ëö¤Î¾õÂÖ¤ò¸µ¤ËÌᤷ¤Æ¡¢ºÆ¤Ó
-.I /dev/tty
-¤ò¥¯¥í¡¼¥º¤¹¤ë¡£
-.SH ÊÖ¤êÃÍ
-.BR getpass ()
-´Ø¿ô¤ÏÆþÎϤµ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É
-(¤ÎºÇ½é¤Î
-.B PASS_MAX
-¥Ð¥¤¥È¤Þ¤Ç) ¤¬½ñ¤­¤³¤Þ¤ì¤¿¡¢
-¥¹¥¿¥Æ¥£¥Ã¥¯¤Ê¥Ð¥Ã¥Õ¥¡¡¼¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤òÊÖ¤¹¡£
-ËöÈø¤Î²þ¹Ô¤Ï´Þ¤Þ¤ì¤Ê¤¤¡£¤³¤Îʸ»úÎó¤Ï NULL ¥Ð¥¤¥È (\(aq\\0\(aq) ¤Ç½ªÃ¼¤µ¤ì¤ë¡£
-¤³¤Î¥Ð¥Ã¥Õ¥¡¡¼¤Ï¡¢°Ê¹ß¤Î´Ø¿ô¥³¡¼¥ë¤Ç¾å½ñ¤­¤µ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
-¥¨¥é¡¼¤¬µ¯¤³¤ë¤È¡¢Ã¼Ëö¤Î¾õÂÖ¤òÉü¸µ¤·¡¢
-.I errno
-¤òŬÀÚ¤ÊÃͤËÀßÄꤷ¤Æ¡¢NULL ¤òÊÖ¤¹¡£
-.SH ¥¨¥é¡¼
-¤³¤Î´Ø¿ô¤Ï°Ê²¼¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¼ºÇÔ¤·¤¦¤ë¡£
-.TP
-.B ENXIO
-¥×¥í¥»¥¹¤¬À©¸æüËö¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¡£
-.SH ¥Õ¥¡¥¤¥ë
-.I /dev/tty
-.\" .SH ÍúÎò
+\fBgetpass\fP()  関数は \fI/dev/tty\fP (プロセスの制御端末) をオープンし、文字列 \fIprompt\fP を出力する。そして
+echo をオフにし、一行 (「パスワード」)  を読み込み、端末の状態を元に戻して、再び \fI/dev/tty\fP をクローズする。
+.SH 返り値
+\fBgetpass\fP()  関数は入力されたパスワード (の最初の \fBPASS_MAX\fP バイトまで) が書きこまれた、
+スタティックなバッファーへのポインターを返す。 末尾の改行は含まれない。この文字列は NULL バイト (\(aq\e0\(aq) で終端される。
+このバッファーは、以降の関数コールで上書きされるかもしれない。 エラーが起こると、端末の状態を復元し、 \fIerrno\fP を適切な値に設定して、NULL
+を返す。
+.SH エラー
+この関数は以下のような場合に失敗しうる。
+.TP 
+\fBENXIO\fP
+プロセスが制御端末を持っていない。
+.SH ファイル
+.\" .SH HISTORY
+.\" A
 .\" .BR getpass ()
-.\" ´Ø¿ô¤Ï Version 7 AT&T UNIX ¤ÇÅо줷¤¿¡£
-.SH ½àµò
-SUSv2 ¤Ë¤Ï¸ºß¤¹¤ë¤¬¡¢²áµî¤Î̾»Ä (LEGACY) ¤È°ÌÃÖÉÕ¤±¤é¤ì¤Æ¤¤¤ë¡£
-POSIX.1-2001 ¤Çºï½ü¤µ¤ì¤¿¡£
-.SH Ãí°Õ
-libc4 ¤È libc5 ¤Ç¤Ï¡¢
-.I prompt
-¤Ï
-.I /dev/tty
-¤Ë¤Ç¤Ï¤Ê¤¯
-.I stderr
-¤Ë½ÐÎϤµ¤ì¤¿¡£¤µ¤é¤Ë¡¢
-.I /dev/tty
-¤¬¥ª¡¼¥×¥ó¤Ç¤­¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤Ï
-.I stdin
-¤«¤éÆɤ߹þ¤Þ¤ì¤¿¡£
-¥¹¥¿¥Æ¥£¥Ã¥¯¤Ê¥Ð¥Ã¥Õ¥¡¡¼¤ÎŤµ¤Ï 128 ¥Ð¥¤¥È¤À¤Ã¤¿¤Î¤Ç¡¢
-¥Ñ¥¹¥ï¡¼¥É¤ÎºÇ½é¤Î 127 Ê¸»ú¤À¤±¤¬ÊÖ¤µ¤ì¤¿¡£
-¥Ñ¥¹¥ï¡¼¥É¤òÆɤó¤Ç¤¤¤ëÅÓÃæ¤Ë¤Ï¡¢¥·¥°¥Ê¥ë¤Îȯ¹Ô
-.RB ( SIGINT ,
-.BR SIGQUIT ,
-.BR SIGSTOP ,
-.BR SIGSTOP )
-¤Ï̵¸ú¤Ë¤µ¤ì¡¢
-¤½¤ì¤¾¤ì¤ËÂбþ¤¹¤ëʸ»ú (Ä̾ï¤Ï Ctrl-C, Ctrl-\e, Ctrl-Z, Ctrl-Y)
-¤Ï¤½¤Î¤Þ¤Þ¥Ñ¥¹¥ï¡¼¥É¤Î°ìÉô¤È¤·¤ÆÅϤµ¤ì¤¿¡£
-libc 5.4.19 ¤«¤é¤Ï¹ÔÊÔ½¸¤¬Ìµ¸ú¤Ë¤µ¤ì¡¢
-¤·¤¿¤¬¤Ã¤Æ¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹¤Ê¤É¤â¥Ñ¥¹¥ï¡¼¥É¤Î°ìÉô¤È¤ß¤Ê¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£
+.\" function appeared in Version 7 AT&T UNIX.
+\fI/dev/tty\fP
+.SH 属性
+.SS "マルチスレッディング (pthreads(7) 参照)"
+\fBgetpass\fP() 関数はスレッドセーフではない。
+.SH 準拠
+SUSv2 には存在するが、過去の名残 (LEGACY) と位置付けられている。 POSIX.1\-2001 で削除された。
+.SH 注意
+libc4 と libc5 では、 \fIprompt\fP は \fI/dev/tty\fP にではなく \fIstderr\fP に出力された。さらに、
+\fI/dev/tty\fP がオープンできない場合は、パスワードは \fIstdin\fP から読み込まれた。 スタティックなバッファーの長さは 128
+バイトだったので、 パスワードの最初の 127 文字だけが返された。 パスワードを読んでいる途中には、シグナルの発行 (\fBSIGINT\fP,
+\fBSIGQUIT\fP, \fBSIGSTOP\fP, \fBSIGSTOP\fP)  は無効にされ、 それぞれに対応する文字 (通常は Ctrl\-C,
+Ctrl\-\e, Ctrl\-Z, Ctrl\-Y)  はそのままパスワードの一部として渡された。 libc 5.4.19 からは行編集が無効にされ、
+したがってバックスペースなどもパスワードの一部とみなされるようになった。
 .PP
-glibc2 ¤Ç¤Ï¡¢
-.I /dev/tty
-¤¬¥ª¡¼¥×¥ó¤Ç¤­¤Ê¤¤¾ì¹ç¤Ï
-.I prompt
-¤Ï
-.I stderr
-¤Ë½ñ¤­½Ð¤µ¤ì¡¢¥Ñ¥¹¥ï¡¼¥É¤Ï
-.I stdin
-¤«¤éÆɤ߹þ¤Þ¤ì¤¿¡£
-¥Ñ¥¹¥ï¡¼¥É¤ÎŤµ¤Ë¤ÏÀ©¸Â¤Ï¤Ê¤¯¡¢
-¹ÔÊÔ½¸¤â̵¸ú¤Ë¤Ï¤µ¤ì¤Ê¤«¤Ã¤¿¡£
+glibc2 では、 \fI/dev/tty\fP がオープンできない場合は \fIprompt\fP は \fIstderr\fP に書き出され、パスワードは
+\fIstdin\fP から読み込まれた。 パスワードの長さには制限はなく、 行編集も無効にはされなかった。
 .PP
-SUSv2 ¤Ë¤è¤ì¤Ð¡¢
-.B PASS_MAX
-¤ÎÃͤ¬ 8 °Ê²¼¤Î¾ì¹ç¤Ï¡¢¤³¤ÎÃͤÏ
-.I <limits.h>
-¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-¤¤¤º¤ì¤Î¾ì¹ç¤Ç¤â¤³¤ÎÃͤÏ
-.I sysconf(_SC_PASS_MAX)
-¤Ë¤è¤Ã¤Æ¼èÆÀ¤Ç¤­¤ë¡£
-¤·¤«¤·¡¢POSIX.2 ¤ÏÄê¿ô
-.BR PASS_MAX ,
-.B _SC_PASS_MAX
-¤È´Ø¿ô
-.BR getpass ()
-¤ò¼è¤ê²¼¤²¤¿¡£
-libc4 ¤È libc5 ¤Ç¤Ï¡¢
-.B PASS_MAX
-¤È
-.B _SC_PASS_MAX
-¤Ï°ìÅ٤⥵¥Ý¡¼¥È¤µ¤ì¤¿¤³¤È¤Ï¤Ê¤¤¡£
-glibc2 ¤Ï
-.B _SC_PASS_MAX
-¤ò¼õÉÕ¤±¡¢
-.B BUFSIZE
-(Î㤨¤Ð 8192) ¤òÊÖ¤¹¡£
-.SH ¥Ð¥°
-¤³¤Î´Ø¿ô¤ò¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤Ï¡¢
-¤Ç¤­¤ë¸Â¤êÁ᤯¤½¤Î¥Ñ¥¹¥ï¡¼¥É¤ò¾Ãµî (¥¼¥í¥¯¥ê¥¢) ¤·¡¢
-¥¯¥ê¥¢¥Æ¥­¥¹¥È¤Î¥Ñ¥¹¥ï¡¼¥É¤¬
-¤½¤Î¥×¥í¥»¥¹¤Î¥¢¥É¥ì¥¹¶õ´Ö¤Ç¸«¤¨¤Ê¤¤¤è¤¦¤Ë¤¹¤Ù¤­¤Ç¤¢¤ë¡£
-.SH ´ØÏ¢¹àÌÜ
-.BR crypt (3)
+SUSv2 によれば、 \fBPASS_MAX\fP の値が 8 以下の場合は、この値は \fI<limits.h>\fP
+で定義されていなければならない。 いずれの場合でもこの値は \fIsysconf(_SC_PASS_MAX)\fP によって取得できる。
+しかし、POSIX.2 は定数 \fBPASS_MAX\fP, \fB_SC_PASS_MAX\fP と関数 \fBgetpass\fP()  を取り下げた。 libc4
+と libc5 では、 \fBPASS_MAX\fP と \fB_SC_PASS_MAX\fP は一度もサポートされたことはない。 glibc2 は
+\fB_SC_PASS_MAX\fP を受付け、 \fBBUFSIZE\fP (例えば 8192) を返す。
+.SH バグ
+この関数を呼び出したプロセスは、 できる限り早くそのパスワードを消去 (ゼロクリア) し、 クリアテキストのパスワードが
+そのプロセスのアドレス空間で見えないようにすべきである。
+.SH 関連項目
+\fBcrypt\fP(3)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.52 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。