.sp
\fBsecure_getenv\fP(): _GNU_SOURCE
.SH 説明
-関数 \fBgetenv\fP() は、環境リストから名前が \fIname\fP の環境変数を検索し、対応する \fIvalue\fP 文字列へのポインタを返す。
+é\96¢æ\95° \fBgetenv\fP() ã\81¯ã\80\81ç\92°å¢\83ã\83ªã\82¹ã\83\88ã\81\8bã\82\89å\90\8då\89\8dã\81\8c \fIname\fP ã\81®ç\92°å¢\83å¤\89æ\95°ã\82\92æ¤\9cç´¢ã\81\97ã\80\81対å¿\9cã\81\99ã\82\8b \fIvalue\fP æ\96\87å\97å\88\97ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\80\82
GNU 固有の \fBsecure_getenv\fP() 関数は \fBgetenv\fP() と同様だが、 "secure execution"
(「安全な実行」) が必要な場合には NULL を返す点が異なる。 "secure execution" が必要となるのは、
呼び出し元プロセスにより実行されるプログラムがロードされる際に、 以下の条件のいずれか一つが成立する場合である。
.IP * 3
-プロセスの実効ユーザ ID がプロセスの実ユーザ ID と一致しない場合、またはプロセスの実効グループ ID がプロセスの実グループ ID
+プロセスの実効ユーザー ID がプロセスの実ユーザー ID と一致しない場合、またはプロセスの実効グループ ID がプロセスの実グループ ID
と一致しない場合 (通常、この状況になるのは、 set\-user\-ID プログラムか set\-group\-ID プログラムを実行した場合である)。
.IP *
実行ファイルで実効ケーパビリティビットがセットされている場合。
\fBsecure_getenv\fP() 関数は、 set\-user\-ID プログラムや set\-group\-ID
プログラムが実行環境を偶然信用してしまった場合に起こり得る脆弱性を、 汎用ライブラリで回避するために使うことを意図して作られた。
.SH 返り値
-é\96¢æ\95° \fBgetenv\fP() ã\81¯ã\80\81ç\92°å¢\83ã\81«ã\81\8aã\81\91ã\82\8bå\80¤ value ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\82\92è¿\94ã\81\99ã\80\82 \fIname\fP ã\81«ã\83\9eã\83\83ã\83\81ã\81\99ã\82\8bç\92°å¢\83å¤\89æ\95°ã\81\8cå\98å\9c¨ã\81\97ã\81ªã\81\84ã\81¨ã\81\8dã\81«ã\81¯ NULL
-を返す。
+é\96¢æ\95° \fBgetenv\fP() ã\81¯ã\80\81ç\92°å¢\83ã\81«ã\81\8aã\81\91ã\82\8bå\80¤ value ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\80\82 \fIname\fP ã\81«ã\83\9eã\83\83ã\83\81ã\81\99ã\82\8bç\92°å¢\83å¤\89æ\95°ã\81\8cå\98å\9c¨ã\81\97ã\81ªã\81\84ã\81¨ã\81\8dã\81«ã\81¯
+NULL を返す。
.SH バージョン
\fBsecure_getenv\fP() は glibc 2.17 で初めて登場した。
.SH 準拠
.SH 注意
環境リストの文字列は \fIname=value\fP という形式をしている。
-é\80\9a常ã\81®å®\9fè£\85ã\81§ã\81¯ã\80\81 \fBgetenv\fP() ã\81¯ç\92°å¢\83ã\83ªã\82¹ã\83\88å\86\85ã\81®æ\96\87å\97å\88\97ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\82\92è¿\94ã\81\99ã\80\82 å\91¼ã\81³å\87ºã\81\97å\85\83ã\81¯ã\81\93ã\81®æ\96\87å\97å\88\97ã\82\92å¤\89æ\9b´ã\81\97ã\81ªã\81\84ã\82\88ã\81\86ã\81«æ³¨æ\84\8fã\81\97ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84。
-この文字列を変更すると、そのプロセスの環境を変化させることになるからである。
+é\80\9a常ã\81®å®\9fè£\85ã\81§ã\81¯ã\80\81 \fBgetenv\fP() ã\81¯ç\92°å¢\83ã\83ªã\82¹ã\83\88å\86\85ã\81®æ\96\87å\97å\88\97ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92è¿\94ã\81\99。
+呼び出し元はこの文字列を変更しないように注意しなければならない。 この文字列を変更すると、そのプロセスの環境を変化させることになるからである。
\fBgetenv\fP() の実装はリエントラント (再入可能) であることを要求されていない。 \fBgetenv\fP()
の返り値により参照される文字列は静的に割り当てられてもよく、 文字列の内容は後続の \fBgetenv\fP(), \fBputenv\fP(3),
\fBsetenv\fP(3), \fBunsetenv\fP(3) の呼び出しにより変更されることがある。
-\fBsecure_getenv\fP() の "secure execution" モードは、 カーネルからユーザ空間に渡される補助ベクトル
+\fBsecure_getenv\fP() の "secure execution" モードは、 カーネルからユーザー空間に渡される補助ベクトル
(auxiliary vector) の \fBAT_SECURE\fP フラグにより制御される。
.SH 関連項目
\fBclearenv\fP(3), \fBgetauxval\fP(3), \fBputenv\fP(3), \fBsetenv\fP(3), \fBunsetenv\fP(3),
\fBcapabilities\fP(7), \fBenviron\fP(7)
.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.68 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。