# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2015-02-04 23:31+0900\n" "PO-Revision-Date: 2015-01-25 06:37+0900\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: TH #: build/C/man3/fgetgrent.3:30 #, no-wrap msgid "FGETGRENT" msgstr "FGETGRENT" #. type: TH #: build/C/man3/fgetgrent.3:30 build/C/man3/getgrnam.3:33 #: build/C/man3/getgrouplist.3:29 #, no-wrap msgid "2014-08-19" msgstr "2014-08-19" #. type: TH #: build/C/man3/fgetgrent.3:30 build/C/man3/fgetpwent.3:33 #: build/C/man3/getgrent_r.3:24 build/C/man3/getgrouplist.3:29 #: build/C/man3/getpw.3:32 build/C/man3/getpwent.3:33 #: build/C/man3/getpwent_r.3:24 build/C/man3/getpwnam.3:37 #: build/C/man3/getspnam.3:8 build/C/man3/initgroups.3:32 #: build/C/man3/putgrent.3:7 build/C/man3/putpwent.3:30 #: build/C/man3/setaliasent.3:9 #, no-wrap msgid "GNU" msgstr "GNU" #. type: TH #: build/C/man3/fgetgrent.3:30 build/C/man3/fgetpwent.3:33 #: build/C/man5/ftpusers.5:19 build/C/man3/getgrent.3:30 #: build/C/man3/getgrent_r.3:24 build/C/man3/getgrnam.3:33 #: build/C/man3/getgrouplist.3:29 build/C/man3/getpw.3:32 #: build/C/man3/getpwent.3:33 build/C/man3/getpwent_r.3:24 #: build/C/man3/getpwnam.3:37 build/C/man3/getspnam.3:8 #: build/C/man5/group.5:26 build/C/man3/initgroups.3:32 #: build/C/man5/passwd.5:30 build/C/man3/putgrent.3:7 #: build/C/man3/putpwent.3:30 build/C/man3/setaliasent.3:9 #, no-wrap msgid "Linux Programmer's Manual" msgstr "Linux Programmer's Manual" #. type: SH #: build/C/man3/fgetgrent.3:31 build/C/man3/fgetpwent.3:34 #: build/C/man5/ftpusers.5:20 build/C/man3/getgrent.3:31 #: build/C/man3/getgrent_r.3:25 build/C/man3/getgrnam.3:34 #: build/C/man3/getgrouplist.3:30 build/C/man3/getpw.3:33 #: build/C/man3/getpwent.3:34 build/C/man3/getpwent_r.3:25 #: build/C/man3/getpwnam.3:38 build/C/man3/getspnam.3:9 #: build/C/man5/group.5:27 build/C/man3/initgroups.3:33 #: build/C/man5/passwd.5:31 build/C/man3/putgrent.3:8 #: build/C/man3/putpwent.3:31 build/C/man3/setaliasent.3:10 #, no-wrap msgid "NAME" msgstr "名前" #. type: Plain text #: build/C/man3/fgetgrent.3:33 msgid "fgetgrent - get group file entry" msgstr "fgetgrent - グループファイルエントリーの取り出し" #. type: SH #: build/C/man3/fgetgrent.3:33 build/C/man3/fgetpwent.3:36 #: build/C/man3/getgrent.3:33 build/C/man3/getgrent_r.3:27 #: build/C/man3/getgrnam.3:36 build/C/man3/getgrouplist.3:32 #: build/C/man3/getpw.3:35 build/C/man3/getpwent.3:36 #: build/C/man3/getpwent_r.3:27 build/C/man3/getpwnam.3:40 #: build/C/man3/getspnam.3:13 build/C/man3/initgroups.3:35 #: build/C/man3/putgrent.3:10 build/C/man3/putpwent.3:33 #: build/C/man3/setaliasent.3:13 #, no-wrap msgid "SYNOPSIS" msgstr "書式" #. type: Plain text #: build/C/man3/fgetgrent.3:38 #, no-wrap msgid "" "B<#include Estdio.hE>\n" "B<#include Esys/types.hE>\n" "B<#include Egrp.hE>\n" msgstr "" "B<#include Estdio.hE>\n" "B<#include Esys/types.hE>\n" "B<#include Egrp.hE>\n" #. type: Plain text #: build/C/man3/fgetgrent.3:40 #, no-wrap msgid "BIB<);>\n" msgstr "BIB<);>\n" #. type: Plain text #: build/C/man3/fgetgrent.3:45 build/C/man3/fgetpwent.3:48 #: build/C/man3/getgrent.3:48 build/C/man3/getgrent_r.3:43 #: build/C/man3/getgrnam.3:57 build/C/man3/getgrouplist.3:42 #: build/C/man3/getpwent.3:51 build/C/man3/getpwent_r.3:43 #: build/C/man3/getpwnam.3:61 build/C/man3/getspnam.3:61 #: build/C/man3/initgroups.3:46 build/C/man3/putpwent.3:45 msgid "" "Feature Test Macro Requirements for glibc (see B(7)):" msgstr "glibc 向けの機能検査マクロの要件 (B(7) 参照):" #. type: Plain text #: build/C/man3/fgetgrent.3:49 msgid "B(): _SVID_SOURCE" msgstr "B(): _SVID_SOURCE" #. type: SH #: build/C/man3/fgetgrent.3:49 build/C/man3/fgetpwent.3:52 #: build/C/man5/ftpusers.5:22 build/C/man3/getgrent.3:68 #: build/C/man3/getgrent_r.3:51 build/C/man3/getgrnam.3:67 #: build/C/man3/getgrouplist.3:46 build/C/man3/getpw.3:43 #: build/C/man3/getpwent.3:62 build/C/man3/getpwent_r.3:50 #: build/C/man3/getpwnam.3:71 build/C/man3/getspnam.3:72 #: build/C/man5/group.5:29 build/C/man3/initgroups.3:50 #: build/C/man5/passwd.5:33 build/C/man3/putgrent.3:16 #: build/C/man3/putpwent.3:49 build/C/man3/setaliasent.3:31 #, no-wrap msgid "DESCRIPTION" msgstr "説明" #. type: Plain text #: build/C/man3/fgetgrent.3:63 msgid "" "The B() function returns a pointer to a structure containing the " "group information from the file referred to by I. The first time it " "is called it returns the first entry; thereafter, it returns successive " "entries. The file referred to by I must have the same format as I (see B(5))." msgstr "" "B() 関数は、 I で参照されるファイルから取り出したグループ" "情報 を含む構造体へのポインターを返す。最初に呼び出された時は 最初のエント" "リーを返し、それ以降は、次のエントリーを返す。 I で参照されるファイル" "は、 I と同じ形式でなければならない (B(5) 参照)。" #. type: Plain text #: build/C/man3/fgetgrent.3:65 build/C/man3/getgrent.3:92 #: build/C/man3/getgrent_r.3:68 build/C/man3/getgrnam.3:86 msgid "The I structure is defined in Igrp.hE> as follows:" msgstr "I 構造体は Igrp.hE> で以下のように定義されている:" #. type: Plain text #: build/C/man3/fgetgrent.3:75 build/C/man3/getgrent.3:102 #: build/C/man3/getgrent_r.3:78 build/C/man3/getgrnam.3:96 #, no-wrap msgid "" "struct group {\n" " char *gr_name; /* group name */\n" " char *gr_passwd; /* group password */\n" " gid_t gr_gid; /* group ID */\n" " char **gr_mem; /* NULL-terminated array of pointers\n" " to names of group members */\n" "};\n" msgstr "" "struct group {\n" " char *gr_name; /* グループ名 */\n" " char *gr_passwd; /* グループのパスワード */\n" " gid_t gr_gid; /* グループ ID */\n" " char **gr_mem; /* グループのメンバ名へのポインター\n" " の配列 (配列はヌルで終端する) */\n" "};\n" #. type: SH #: build/C/man3/fgetgrent.3:77 build/C/man3/fgetpwent.3:81 #: build/C/man3/getgrent.3:107 build/C/man3/getgrent_r.3:102 #: build/C/man3/getgrnam.3:137 build/C/man3/getgrouplist.3:78 #: build/C/man3/getpw.3:72 build/C/man3/getpwent.3:103 #: build/C/man3/getpwent_r.3:103 build/C/man3/getpwnam.3:143 #: build/C/man3/getspnam.3:216 build/C/man3/initgroups.3:68 #: build/C/man3/putgrent.3:41 build/C/man3/putpwent.3:70 #: build/C/man3/setaliasent.3:89 #, no-wrap msgid "RETURN VALUE" msgstr "返り値" #. type: Plain text #: build/C/man3/fgetgrent.3:87 msgid "" "The B() function returns a pointer to a I structure, or " "NULL if there are no more entries or an error occurs. In the event of an " "error, I is set to indicate the cause." msgstr "" "B() 関数は I 構造体へのポインターを返す。 これ以上エント" "リーが無いか、エラーが発生した場合は NULL を返す。 エラーの場合、 I に" "原因を示す値が設定される。" #. type: SH #: build/C/man3/fgetgrent.3:87 build/C/man3/fgetpwent.3:91 #: build/C/man3/getgrent.3:130 build/C/man3/getgrent_r.3:109 #: build/C/man3/getgrnam.3:175 build/C/man3/getpw.3:88 #: build/C/man3/getpwent.3:125 build/C/man3/getpwent_r.3:110 #: build/C/man3/getpwnam.3:181 build/C/man3/getspnam.3:229 #: build/C/man3/initgroups.3:75 build/C/man3/putpwent.3:78 #, no-wrap msgid "ERRORS" msgstr "エラー" #. type: TP #: build/C/man3/fgetgrent.3:88 build/C/man3/fgetpwent.3:92 #: build/C/man3/getgrent.3:153 build/C/man3/getgrnam.3:197 #: build/C/man3/getpw.3:97 build/C/man3/getpwent.3:140 #: build/C/man3/getpwnam.3:203 build/C/man3/initgroups.3:76 #, no-wrap msgid "B" msgstr "B" #. not in POSIX #. to allocate the group structure, or to allocate buffers #. type: Plain text #: build/C/man3/fgetgrent.3:93 build/C/man3/getgrent.3:159 #: build/C/man3/getgrnam.3:204 msgid "Insufficient memory to allocate I structure." msgstr "I 構造体を割り当てるためのメモリーが不十分。" #. type: SH #: build/C/man3/fgetgrent.3:93 build/C/man3/fgetpwent.3:101 #: build/C/man3/getgrent.3:177 build/C/man3/getgrent_r.3:117 #: build/C/man3/getgrnam.3:224 build/C/man3/getgrouplist.3:98 #: build/C/man3/getpw.3:106 build/C/man3/getpwent.3:165 #: build/C/man3/getpwent_r.3:118 build/C/man3/getpwnam.3:230 #: build/C/man3/getspnam.3:249 build/C/man3/initgroups.3:88 #: build/C/man3/putgrent.3:43 build/C/man3/putpwent.3:82 #: build/C/man3/setaliasent.3:101 #, no-wrap msgid "CONFORMING TO" msgstr "準拠" #. type: Plain text #: build/C/man3/fgetgrent.3:95 build/C/man3/fgetpwent.3:103 #: build/C/man3/putpwent.3:84 msgid "SVr4." msgstr "SVr4." #. type: SH #: build/C/man3/fgetgrent.3:95 build/C/man3/fgetpwent.3:103 #: build/C/man5/ftpusers.5:49 build/C/man3/getgrent.3:179 #: build/C/man3/getgrent_r.3:184 build/C/man3/getgrnam.3:247 #: build/C/man3/getgrouplist.3:189 build/C/man3/getpw.3:115 #: build/C/man3/getpwent.3:170 build/C/man3/getpwent_r.3:180 #: build/C/man3/getpwnam.3:326 build/C/man3/getspnam.3:253 #: build/C/man5/group.5:61 build/C/man3/initgroups.3:90 #: build/C/man5/passwd.5:162 build/C/man3/putgrent.3:45 #: build/C/man3/putpwent.3:84 build/C/man3/setaliasent.3:145 #, no-wrap msgid "SEE ALSO" msgstr "関連項目" #. type: Plain text #: build/C/man3/fgetgrent.3:105 msgid "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(3), B(3), B(5)" msgstr "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(3), B(3), B(5)" #. type: SH #: build/C/man3/fgetgrent.3:105 build/C/man3/fgetpwent.3:114 #: build/C/man5/ftpusers.5:53 build/C/man3/getgrent.3:187 #: build/C/man3/getgrent_r.3:191 build/C/man3/getgrnam.3:254 #: build/C/man3/getgrouplist.3:196 build/C/man3/getpw.3:124 #: build/C/man3/getpwent.3:178 build/C/man3/getpwent_r.3:188 #: build/C/man3/getpwnam.3:336 build/C/man3/getspnam.3:258 #: build/C/man5/group.5:67 build/C/man3/initgroups.3:94 #: build/C/man5/passwd.5:173 build/C/man3/putgrent.3:49 #: build/C/man3/putpwent.3:92 build/C/man3/setaliasent.3:154 #, no-wrap msgid "COLOPHON" msgstr "この文書について" #. type: Plain text #: build/C/man3/fgetgrent.3:113 build/C/man3/fgetpwent.3:122 #: build/C/man5/ftpusers.5:61 build/C/man3/getgrent.3:195 #: build/C/man3/getgrent_r.3:199 build/C/man3/getgrnam.3:262 #: build/C/man3/getgrouplist.3:204 build/C/man3/getpw.3:132 #: build/C/man3/getpwent.3:186 build/C/man3/getpwent_r.3:196 #: build/C/man3/getpwnam.3:344 build/C/man3/getspnam.3:266 #: build/C/man5/group.5:75 build/C/man3/initgroups.3:102 #: build/C/man5/passwd.5:181 build/C/man3/putgrent.3:57 #: build/C/man3/putpwent.3:100 build/C/man3/setaliasent.3:162 #, fuzzy #| msgid "" #| "This page is part of release 3.78 of the Linux I project. A " #| "description of the project, information about reporting bugs, and the " #| "latest version of this page, can be found at \\%http://www.kernel.org/doc/" #| "man-pages/." msgid "" "This page is part of release 3.79 of the Linux I project. A " "description of the project, information about reporting bugs, and the latest " "version of this page, can be found at \\%http://www.kernel.org/doc/man-" "pages/." msgstr "" "この man ページは Linux I プロジェクトのリリース 3.78 の一部\n" "である。プロジェクトの説明とバグ報告に関する情報は\n" "http://www.kernel.org/doc/man-pages/ に書かれている。" #. type: TH #: build/C/man3/fgetpwent.3:33 #, no-wrap msgid "FGETPWENT" msgstr "FGETPWENT" #. type: TH #: build/C/man3/fgetpwent.3:33 build/C/man3/putpwent.3:30 #, no-wrap msgid "2013-04-19" msgstr "2013-04-19" #. type: Plain text #: build/C/man3/fgetpwent.3:36 msgid "fgetpwent - get password file entry" msgstr "fgetpwent - パスワードファイルエントリーの取り出し" #. type: Plain text #: build/C/man3/fgetpwent.3:41 build/C/man3/putpwent.3:38 #, no-wrap msgid "" "B<#include Estdio.hE>\n" "B<#include Esys/types.hE>\n" "B<#include Epwd.hE>\n" msgstr "" "B<#include Estdio.hE>\n" "B<#include Esys/types.hE>\n" "B<#include Epwd.hE>\n" #. type: Plain text #: build/C/man3/fgetpwent.3:43 #, no-wrap msgid "BIB<);>\n" msgstr "BIB<);>\n" #. type: Plain text #: build/C/man3/fgetpwent.3:52 msgid "B(): _SVID_SOURCE" msgstr "B(): _SVID_SOURCE" #. type: Plain text #: build/C/man3/fgetpwent.3:65 msgid "" "The B() function returns a pointer to a structure containing the " "broken out fields of a line in the file I. The first time it is " "called it returns the first entry; thereafter, it returns successive " "entries. The file referred to by I must have the same format as I (see B(5))." msgstr "" "B() 関数は、I から得られた行を分解したフィールド を含む構" "造体へのポインターを返す。 最初に呼び出された時には最初のエントリーを返し、そ" "れ以降は 次のエントリーを返す。 I で参照されるファイルは I と同じ形式でなければならない (B(5) 参照)。" #. type: Plain text #: build/C/man3/fgetpwent.3:67 build/C/man3/getpw.3:55 #: build/C/man3/getpwent.3:86 build/C/man3/getpwent_r.3:67 #: build/C/man3/getpwnam.3:90 build/C/man3/putpwent.3:56 msgid "The I structure is defined in Ipwd.hE> as follows:" msgstr "I 構造体は、Ipwd.hE> で以下のように定義されている:" #. type: Plain text #: build/C/man3/fgetpwent.3:79 #, no-wrap msgid "" "struct passwd {\n" " char *pw_name; /* username */\n" " char *pw_passwd; /* user password */\n" " uid_t pw_uid; /* user ID */\n" " gid_t pw_gid; /* group ID */\n" " char *pw_gecos; /* real name */\n" " char *pw_dir; /* home directory */\n" " char *pw_shell; /* shell program */\n" "};\n" msgstr "" "struct passwd {\n" " char *pw_name; /* ユーザー名 */\n" " char *pw_passwd; /* ユーザーのパスワード */\n" " uid_t pw_uid; /* ユーザー ID */\n" " gid_t pw_gid; /* グループ ID */\n" " char *pw_gecos; /* 実名 */\n" " char *pw_dir; /* ホームディレクトリ */\n" " char *pw_shell; /* シェルプログラム */\n" "};\n" #. type: Plain text #: build/C/man3/fgetpwent.3:91 msgid "" "The B() function returns a pointer to a I structure, or " "NULL if there are no more entries or an error occurs. In the event of an " "error, I is set to indicate the cause." msgstr "" "B() 関数は、 I 構造体へのポインターを返す。 これ以上エン" "トリーが無いか、エラーが発生した場合は NULL を返す。 エラーの場合、 I " "に原因を示す値が設定される。" #. not in POSIX #. This structure is static, allocated 0 or 1 times. No memory leak. (libc45) #. type: Plain text #: build/C/man3/fgetpwent.3:97 build/C/man3/getpw.3:102 #: build/C/man3/getpwent.3:147 build/C/man3/getpwnam.3:210 msgid "Insufficient memory to allocate I structure." msgstr "I 構造体に割り当てるメモリーが十分なかった。" #. type: SH #: build/C/man3/fgetpwent.3:97 build/C/man5/ftpusers.5:47 #: build/C/man3/getgrent.3:162 build/C/man3/getgrnam.3:207 #: build/C/man3/getpw.3:102 build/C/man3/getpwent.3:150 #: build/C/man3/getpwnam.3:213 build/C/man3/getspnam.3:236 #: build/C/man5/group.5:53 build/C/man3/initgroups.3:84 #: build/C/man5/passwd.5:142 build/C/man3/setaliasent.3:95 #, no-wrap msgid "FILES" msgstr "ファイル" #. type: Plain text #: build/C/man3/fgetpwent.3:98 build/C/man3/getpw.3:103 #: build/C/man3/getpwent.3:151 build/C/man3/getpwnam.3:214 #: build/C/man5/passwd.5:144 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man3/fgetpwent.3:101 build/C/man3/getpw.3:106 msgid "password database file" msgstr "パスワードデータベースファイル" #. type: Plain text #: build/C/man3/fgetpwent.3:114 msgid "" "B(3), B(3), B(3), B(3), B(3), " "B(3), B(3), B(3), B(3), B(5)" msgstr "" "B(3), B(3), B(3), B(3), B(3), " "B(3), B(3), B(3), B(3), B(5)" #. type: TH #: build/C/man5/ftpusers.5:19 #, no-wrap msgid "FTPUSERS" msgstr "FTPUSERS" #. type: TH #: build/C/man5/ftpusers.5:19 #, no-wrap msgid "2000-08-27" msgstr "2000-08-27" #. type: TH #: build/C/man5/ftpusers.5:19 build/C/man5/group.5:26 build/C/man5/passwd.5:30 #, no-wrap msgid "Linux" msgstr "Linux" #. type: Plain text #: build/C/man5/ftpusers.5:22 msgid "ftpusers - list of users that may not log in via the FTP daemon" msgstr "ftpusers - FTP デーモン経由でのログインを許さないユーザーのリスト" #. type: Plain text #: build/C/man5/ftpusers.5:41 msgid "" "The text file B contains a list of users that may not log in using " "the File Transfer Protocol (FTP) server daemon. This file is used not " "merely for system administration purposes but for improving security within " "a TCP/IP networked environment. It will typically contain a list of the " "users that either have no business using ftp or have too many privileges to " "be allowed to log in through the FTP server daemon. Such users usually " "include root, daemon, bin, uucp, and news. If your FTP server daemon " "doesn't use B, then it is suggested that you read its " "documentation to find out how to block access for certain users. Washington " "University FTP server Daemon (wuftpd) and Professional FTP Daemon (proftpd) " "are known to make use of B." msgstr "" "B はテキストファイルで、File Transfer Protocol (FTP) サーバーデーモ" "ン を利用してのログインを許さないユーザーをリストしたものである。 このファイ" "ルは単にシステム管理のためだけでなく、 TCP/IP ネットワーク環境でのセキュリ" "ティを向上させるのにも利用できる。 通常は、ftp を用いた作業を行わないユーザー" "や、 FTP サーバーデーモン経由でのログインを許すには 権限が大きすぎるユーザー" "をリストしておく。 このようなユーザーには、例えば root, daemon, bin, uucp, " "news などが含まれる。 お使いの FTP サーバーデーモンが B を用いない" "場合は、そのデーモンのドキュメントを読んで、 特定のユーザーのアクセスをブロッ" "クするやり方を学んでおくことをすすめる。 Washington University FTP サーバー" "デーモン (wuftpd) と Professional FTP デーモン (proftpd) とは、 B " "を利用することがわかっている。" #. type: SS #: build/C/man5/ftpusers.5:41 #, no-wrap msgid "Format" msgstr "フォーマット" #. type: Plain text #: build/C/man5/ftpusers.5:47 msgid "" "The format of B is very simple. There is one account name (or " "username) per line. Lines starting with a # are ignored." msgstr "" "B のフォーマットは非常に単純であり、 アカウント名 (またはユーザー" "名) を各行に書くだけである。 # で始まる行は無視される。" #. type: Plain text #: build/C/man5/ftpusers.5:49 msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/ftpusers.5:53 msgid "B(5), B(8), B(8)" msgstr "B(5), B(8), B(8)" #. type: TH #: build/C/man3/getgrent.3:30 #, no-wrap msgid "GETGRENT" msgstr "GETGRENT" #. type: TH #: build/C/man3/getgrent.3:30 #, no-wrap msgid "2014-10-02" msgstr "2014-10-02" #. type: Plain text #: build/C/man3/getgrent.3:33 msgid "getgrent, setgrent, endgrent - get group file entry" msgstr "getgrent, setgrent, endgrent - グループファイルエントリーの取得" #. type: Plain text #: build/C/man3/getgrent.3:37 build/C/man3/getgrnam.3:40 #: build/C/man3/initgroups.3:39 #, no-wrap msgid "" "B<#include Esys/types.hE>\n" "B<#include Egrp.hE>\n" msgstr "" "B<#include Esys/types.hE>\n" "B<#include Egrp.hE>\n" #. type: Plain text #: build/C/man3/getgrent.3:39 #, no-wrap msgid "B\n" msgstr "B\n" #. type: Plain text #: build/C/man3/getgrent.3:41 #, no-wrap msgid "B\n" msgstr "B\n" #. type: Plain text #: build/C/man3/getgrent.3:43 #, no-wrap msgid "B\n" msgstr "B\n" #. type: Plain text #: build/C/man3/getgrent.3:53 msgid "B():" msgstr "B():" #. type: Plain text #: build/C/man3/getgrent.3:56 msgid "" "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E=\\ 500 || _XOPEN_SOURCE" "\\ &&\\ _XOPEN_SOURCE_EXTENDED ||" msgstr "" "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E=\\ 500 || _XOPEN_SOURCE" "\\ &&\\ _XOPEN_SOURCE_EXTENDED ||" #. type: Plain text #: build/C/man3/getgrent.3:58 msgid "/* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E=\\ 200809L" msgstr "/* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E=\\ 200809L" #. type: Plain text #: build/C/man3/getgrent.3:62 msgid "B(), B():" msgstr "B(), B():" #. type: Plain text #: build/C/man3/getgrent.3:65 msgid "" "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E=\\ 500 || _XOPEN_SOURCE" "\\ &&\\ _XOPEN_SOURCE_EXTENDED" msgstr "" "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E=\\ 500 || _XOPEN_SOURCE" "\\ &&\\ _XOPEN_SOURCE_EXTENDED" #. type: Plain text #: build/C/man3/getgrent.3:80 msgid "" "The B() function returns a pointer to a structure containing the " "broken-out fields of a record in the group database (e.g., the local group " "file I, NIS, and LDAP). The first time B() is " "called, it returns the first entry; thereafter, it returns successive " "entries." msgstr "" "B() 関数は、グループデータベースから取得したエントリーを 要素毎に" "分解し、各要素を格納した構造体へのポインターを返す (グループデータベースの" "例: ローカルのグループファイル I, NIS, LDAP)。 B() " "は、最初に呼び出された時は最初のエントリーを返し、 それ以降は呼び出される毎に" "次のエントリーを返す。" #. type: Plain text #: build/C/man3/getgrent.3:85 msgid "" "The B() function rewinds to the beginning of the group database, " "to allow repeated scans." msgstr "" "B() 関数を使うと、もう一度読み込めるように、 グループデータベース" "の先頭に戻る。" #. type: Plain text #: build/C/man3/getgrent.3:90 msgid "" "The B() function is used to close the group database after all " "processing has been performed." msgstr "" "B() 関数は、全ての処理が終わった後にグループ データベースをクロー" "ズする。" #. type: Plain text #: build/C/man3/getgrent.3:107 build/C/man3/getgrent_r.3:83 #: build/C/man3/getgrnam.3:101 msgid "" "For more information about the fields of this structure, see B(5)." msgstr "この構造体のフィールドの詳細は B(5) を参照のこと。" #. type: Plain text #: build/C/man3/getgrent.3:114 msgid "" "The B() function returns a pointer to a I structure, or " "NULL if there are no more entries or an error occurs." msgstr "" "B() 関数は I 構造体へのポインターを返す。 これ以上エント" "リーが無いか、エラーが発生した場合は NULL を返す。" #. type: Plain text #: build/C/man3/getgrent.3:121 msgid "" "Upon error, I may be set. If one wants to check I after the " "call, it should be set to zero before the call." msgstr "" "エラーが発生すると、 I が適切に設定される。 この関数の呼び出し後に " "I をチェックしたい場合は、呼び出し前に I を 0 に設定しておかな" "いといけない。" #. type: Plain text #: build/C/man3/getgrent.3:130 msgid "" "The return value may point to a static area, and may be overwritten by " "subsequent calls to B(), B(3), or B(3). (Do " "not pass the returned pointer to B(3).)" msgstr "" "返り値は静的な領域を指しており、その後の B(), B(3), " "B(3) の呼び出しで上書きされるかもしれない。 (返されたポインターを " "B(3) に渡さないこと。)" #. type: TP #: build/C/man3/getgrent.3:131 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/getgrent.3:136 msgid "" "The service was temporarily unavailable; try again later. For NSS backends " "in glibc this indicates a temporary error talking to the backend. The error " "may correct itself, retrying later is suggested." msgstr "" "サービスが一時的に利用できなかったこと。あとでもう一度試してほしい。 NSS バッ" "クエンドの場合、glibc では、バックエンドとの通信中に一時的なエラーが発生した" "ことを示す。 このエラーは直るかもしれないので、あとでもう一度試すよう提案して" "いる。" #. type: TP #: build/C/man3/getgrent.3:136 build/C/man3/getgrnam.3:183 #: build/C/man3/getpwent.3:126 build/C/man3/getpwnam.3:189 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/getgrent.3:139 build/C/man3/getgrnam.3:186 #: build/C/man3/getpwent.3:129 build/C/man3/getpwnam.3:192 msgid "A signal was caught." msgstr "シグナルが捕捉された。" #. type: TP #: build/C/man3/getgrent.3:139 build/C/man3/getgrnam.3:186 #: build/C/man3/getpwent.3:129 build/C/man3/getpwnam.3:192 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/getgrent.3:142 build/C/man3/getgrnam.3:189 #: build/C/man3/getpwent.3:132 build/C/man3/getpwnam.3:195 msgid "I/O error." msgstr "I/O エラー。" #. type: TP #: build/C/man3/getgrent.3:142 build/C/man3/getgrnam.3:189 #: build/C/man3/getpwent.3:132 build/C/man3/getpwnam.3:195 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/getgrent.3:145 msgid "The calling process already has too many open files." msgstr "呼び出したプロセスが既にファイルをオープンし過ぎている。" #. type: TP #: build/C/man3/getgrent.3:145 build/C/man3/getgrnam.3:194 #: build/C/man3/getpwent.3:137 build/C/man3/getpwnam.3:200 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/getgrent.3:148 msgid "Too many open files in the system." msgstr "システム上にオープンされたファイルが多過ぎる。" #. type: TP #: build/C/man3/getgrent.3:148 build/C/man3/getgrent_r.3:110 #: build/C/man3/getpwent_r.3:111 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/getgrent.3:153 msgid "" "A necessary input file cannot be found. For NSS backends in glibc this " "indicates the backend is not correctly configured." msgstr "" "必要な入力ファイルが見つからなかった。 NSS バックエンドの場合、glibc では、こ" "のエラーはバックエンドが正しく設定されていないことを示す。" #. type: TP #: build/C/man3/getgrent.3:159 build/C/man3/getgrent_r.3:113 #: build/C/man3/getgrnam.3:204 build/C/man3/getpwent.3:147 #: build/C/man3/getpwent_r.3:114 build/C/man3/getpwnam.3:210 #: build/C/man3/getspnam.3:233 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/getgrent.3:162 build/C/man3/getgrnam.3:207 #: build/C/man3/getpwent.3:150 build/C/man3/getpwnam.3:213 msgid "Insufficient buffer space supplied." msgstr "与えられたバッファー空間が不十分である。" #. type: TP #: build/C/man3/getgrent.3:163 build/C/man3/getgrnam.3:208 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man3/getgrent.3:166 build/C/man3/getgrnam.3:211 msgid "local group database file" msgstr "ローカルのグループデータベースファイル" #. type: SH #: build/C/man3/getgrent.3:166 build/C/man3/getgrnam.3:211 #: build/C/man3/getpwent.3:154 build/C/man3/getpwnam.3:217 #, no-wrap msgid "ATTRIBUTES" msgstr "属性" #. type: SS #: build/C/man3/getgrent.3:167 build/C/man3/getgrnam.3:212 #: build/C/man3/getpwent.3:155 build/C/man3/getpwnam.3:218 #, no-wrap msgid "Multithreading (see pthreads(7))" msgstr "マルチスレッディング (pthreads(7) 参照)" #. type: Plain text #: build/C/man3/getgrent.3:171 msgid "The B() function is not thread-safe." msgstr "B() 関数はスレッドセーフではない。" #. type: Plain text #: build/C/man3/getgrent.3:177 msgid "The B() and B() functions are thread-safe." msgstr "関数 B() と B() はスレッドセーフである。" #. type: Plain text #: build/C/man3/getgrent.3:179 build/C/man3/getgrnam.3:226 msgid "SVr4, 4.3BSD, POSIX.1-2001." msgstr "SVr4, 4.3BSD, POSIX.1-2001." #. type: Plain text #: build/C/man3/getgrent.3:187 msgid "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(5)" msgstr "" "B(3), B(3), B(3), B(3) " "B(3), B(3), B(5)" #. type: TH #: build/C/man3/getgrent_r.3:24 #, no-wrap msgid "GETGRENT_R" msgstr "GETGRENT_R" #. type: TH #: build/C/man3/getgrent_r.3:24 build/C/man3/getpw.3:32 #: build/C/man3/getpwent_r.3:24 build/C/man3/getspnam.3:8 #: build/C/man3/putgrent.3:7 #, no-wrap msgid "2015-01-22" msgstr "2015-01-22" #. type: Plain text #: build/C/man3/getgrent_r.3:27 msgid "getgrent_r, fgetgrent_r - get group file entry reentrantly" msgstr "" "getgrent_r, fgetgrent_r - グループファイルエントリーをリエントラント " "(reentrant) に取り出す" #. type: Plain text #: build/C/man3/getgrent_r.3:30 #, no-wrap msgid "B<#include Egrp.hE>\n" msgstr "B<#include Egrp.hE>\n" #. type: Plain text #: build/C/man3/getgrent_r.3:32 #, no-wrap msgid "BIB<, char *>IB<,>\n" msgstr "BIB<, char *>IB<,>\n" #. type: Plain text #: build/C/man3/getgrent_r.3:34 #, no-wrap msgid "B< size_t >IB<, struct group **>IB<);>\n" msgstr "B< size_t >IB<, struct group **>IB<);>\n" #. type: Plain text #: build/C/man3/getgrent_r.3:36 #, no-wrap msgid "BIB<, struct group *>IB<, char *>IB<,>\n" msgstr "BIB<, struct group *>IB<, char *>IB<,>\n" #. type: Plain text #: build/C/man3/getgrent_r.3:38 #, no-wrap msgid "B< size_t >IB<, struct group **>IB<);>\n" msgstr "B< size_t >IB<, struct group **>IB<);>\n" #. FIXME . The FTM requirements seem inconsistent here. File a glibc bug? #. type: Plain text #: build/C/man3/getgrent_r.3:48 msgid "B(): _GNU_SOURCE" msgstr "B(): _GNU_SOURCE" #. type: Plain text #: build/C/man3/getgrent_r.3:51 msgid "B(): _SVID_SOURCE" msgstr "B(): _SVID_SOURCE" #. type: Plain text #: build/C/man3/getgrent_r.3:64 msgid "" "The functions B() and B() are the reentrant " "versions of B(3) and B(3). The former reads the next " "group entry from the stream initialized by B(3). The latter reads " "the next group entry from I." msgstr "" "関数 B() と B() は B(3) と " "B(3) のリエントラント版である。 前者は、 B(3) によって" "初期化されたストリームから、次のグループファイルのエントリーを読み込む。 後者" "は、 I から次のグループファイルのエントリーを読み込む。" #. type: Plain text #: build/C/man3/getgrent_r.3:102 msgid "" "The nonreentrant functions return a pointer to static storage, where this " "static storage contains further pointers to group name, password and " "members. The reentrant functions described here return all of that in " "caller-provided buffers. First of all there is the buffer I that can " "hold a I. And next the buffer I of size I that " "can hold additional strings. The result of these functions, the I read from the stream, is stored in the provided buffer I<*gbuf>, and " "a pointer to this I is returned in I<*gbufp>." msgstr "" "リエントラントでない関数は静的な格納領域へのポインターを返す。 この静的な格納" "領域には、更にグループ名・パスワード・ メンバへのポインターが含まれる。 ここ" "で説明されているリエントラントな関数は、 呼び出し側から提供されるバッファーに" "グループ名など全てを返す。 最初の引き数として I を保持できる" "バッファー I がある。 次にその他の文字列を保持できるサイズ I の" "バッファー I がある。 これらの関数の結果 (ストリームから読み込まれた " "I) は、 提供されたバッファー I<*gbuf> に格納され、この " "I へのポインターは I<*gbufp> に返される。" #. type: Plain text #: build/C/man3/getgrent_r.3:109 msgid "" "On success, these functions return 0 and I<*gbufp> is a pointer to the " "I. On error, these functions return an error value and " "I<*gbufp> is NULL." msgstr "" "成功した場合、これらの関数は 0 を返し、 *I は I へのポイ" "ンターとなる。 エラーの場合、これらの関数はエラー値を返し、 *I は " "NULL になる。" #. type: Plain text #: build/C/man3/getgrent_r.3:113 build/C/man3/getpwent_r.3:114 msgid "No more entries." msgstr "次のエントリーがない。" #. type: Plain text #: build/C/man3/getgrent_r.3:117 build/C/man3/getpwent_r.3:118 msgid "Insufficient buffer space supplied. Try again with larger buffer." msgstr "" "十分なバッファー空間が与えられていない。 もっと大きなバッファーで再度実行する" "こと。" #. type: Plain text #: build/C/man3/getgrent_r.3:122 build/C/man3/getpwent_r.3:123 msgid "" "These functions are GNU extensions, done in a style resembling the POSIX " "version of functions like B(3). Other systems use the prototype" msgstr "" "これらの関数は GNU 拡張であり、POSIX 版の関数 B(3) の形式に似せ" "てある。 他のシステムでは以下のプロトタイプが使われている。" #. type: Plain text #: build/C/man3/getgrent_r.3:127 #, no-wrap msgid "" "struct group *getgrent_r(struct group *grp, char *buf,\n" " int buflen);\n" msgstr "" "struct group *getgrent_r(struct group *grp, char *buf,\n" " int buflen);\n" #. type: Plain text #: build/C/man3/getgrent_r.3:131 build/C/man3/getpwent_r.3:132 msgid "or, better," msgstr "より良いものでは、以下のようになっている。" #. type: Plain text #: build/C/man3/getgrent_r.3:136 #, no-wrap msgid "" "int getgrent_r(struct group *grp, char *buf, int buflen,\n" " FILE **gr_fp);\n" msgstr "" "int getgrent_r(struct group *grp, char *buf, int buflen,\n" " FILE **gr_fp);\n" #. type: SH #: build/C/man3/getgrent_r.3:138 build/C/man3/getgrnam.3:226 #: build/C/man3/getpwent_r.3:140 build/C/man3/getpwnam.3:235 #: build/C/man5/passwd.5:144 #, no-wrap msgid "NOTES" msgstr "注意" #. type: Plain text #: build/C/man3/getgrent_r.3:143 msgid "" "The function B() is not really reentrant since it shares the " "reading position in the stream with all other threads." msgstr "" "関数 B() は本当のリエントラントではない。 なぜなら、ストリームの" "読み込み位置を 他の全てのスレッドと共有しているためである。" #. type: SH #: build/C/man3/getgrent_r.3:143 build/C/man3/getgrouplist.3:109 #: build/C/man3/getpwent_r.3:145 build/C/man3/getpwnam.3:274 #: build/C/man3/setaliasent.3:115 #, no-wrap msgid "EXAMPLE" msgstr "例" #. type: Plain text #: build/C/man3/getgrent_r.3:150 #, no-wrap msgid "" "#define _GNU_SOURCE\n" "#include Egrp.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#define BUFLEN 4096\n" msgstr "" "#define _GNU_SOURCE\n" "#include Egrp.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#define BUFLEN 4096\n" #. type: Plain text #: build/C/man3/getgrent_r.3:157 #, no-wrap msgid "" "int\n" "main(void)\n" "{\n" " struct group grp, *grpp;\n" " char buf[BUFLEN];\n" " int i;\n" msgstr "" "int\n" "main(void)\n" "{\n" " struct group grp, *grpp;\n" " char buf[BUFLEN];\n" " int i;\n" #. type: Plain text #: build/C/man3/getgrent_r.3:174 #, no-wrap msgid "" " setgrent();\n" " while (1) {\n" " i = getgrent_r(&grp, buf, BUFLEN, &grpp);\n" " if (i)\n" " break;\n" " printf(\"%s (%d):\", grpp-Egr_name, grpp-Egr_gid);\n" " for (i = 0; ; i++) {\n" " if (grpp-Egr_mem[i] == NULL)\n" " break;\n" " printf(\" %s\", grpp-Egr_mem[i]);\n" " }\n" " printf(\"\\en\");\n" " }\n" " endgrent();\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" " setgrent();\n" " while (1) {\n" " i = getgrent_r(&grp, buf, BUFLEN, &grpp);\n" " if (i)\n" " break;\n" " printf(\"%s (%d):\", grpp-Egr_name, grpp-Egr_gid);\n" " for (i = 0; ; i++) {\n" " if (grpp-Egr_mem[i] == NULL)\n" " break;\n" " printf(\" %s\", grpp-Egr_mem[i]);\n" " }\n" " printf(\"\\en\");\n" " }\n" " endgrent();\n" " exit(EXIT_SUCCESS);\n" "}\n" #. type: Plain text #: build/C/man3/getgrent_r.3:191 msgid "" "B(3), B(3), B(3), B(3), " "B(3), B(5)" msgstr "" "B(3), B(3), B(3), B(3), " "B(3), B(5)" #. type: TH #: build/C/man3/getgrnam.3:33 #, no-wrap msgid "GETGRNAM" msgstr "GETGRNAM" #. type: Plain text #: build/C/man3/getgrnam.3:36 msgid "getgrnam, getgrnam_r, getgrgid, getgrgid_r - get group file entry" msgstr "" "getgrnam, getgrnam_r, getgrgid, getgrgid_r - グループファイルエントリーの取り" "出し" #. type: Plain text #: build/C/man3/getgrnam.3:42 #, no-wrap msgid "BIB<);>\n" msgstr "BIB<);>\n" #. type: Plain text #: build/C/man3/getgrnam.3:44 #, no-wrap msgid "BIB<);>\n" msgstr "BIB<);>\n" #. type: Plain text #: build/C/man3/getgrnam.3:46 #, no-wrap msgid "BIB<, struct group *>IB<,>\n" msgstr "BIB<, struct group *>IB<,>\n" #. type: Plain text #: build/C/man3/getgrnam.3:48 build/C/man3/getgrnam.3:52 #, no-wrap msgid "B< char *>IB<, size_t >IB<, struct group **>IB<);>\n" msgstr "B< char *>IB<, size_t >IB<, struct group **>IB<);>\n" #. type: Plain text #: build/C/man3/getgrnam.3:50 #, no-wrap msgid "BIB<, struct group *>IB<,>\n" msgstr "BIB<, struct group *>IB<,>\n" #. type: Plain text #: build/C/man3/getgrnam.3:62 msgid "B(), B():" msgstr "B(), B():" #. type: Plain text #: build/C/man3/getgrnam.3:65 build/C/man3/getpwnam.3:69 msgid "" "_POSIX_C_SOURCE\\ E=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE " "|| _POSIX_SOURCE" msgstr "" "_POSIX_C_SOURCE\\ E=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE " "|| _POSIX_SOURCE" #. type: Plain text #: build/C/man3/getgrnam.3:77 msgid "" "The B() function returns a pointer to a structure containing the " "broken-out fields of the record in the group database (e.g., the local group " "file I, NIS, and LDAP) that matches the group name I." msgstr "" "B() 関数は、グループ名 I にマッチするグループデータベースの" "エントリーを 要素毎に分解し、各要素を格納した構造体へのポインターを返す (パス" "ワードデータベースの例: ローカルのグループファイル I, NIS, " "LDAP)。" #. type: Plain text #: build/C/man3/getgrnam.3:84 msgid "" "The B() function returns a pointer to a structure containing the " "broken-out fields of the record in the group database that matches the group " "ID I." msgstr "" "B() 関数は、グループ ID I にマッチするグループデータベースの" "エントリーを 要素毎に分解し、各要素を格納した構造体へのポインターを返す。" #. type: Plain text #: build/C/man3/getgrnam.3:124 msgid "" "The B() and B() functions obtain the same " "information as B() and B(), but store the retrieved " "I structure in the space pointed to by I. The string fields " "pointed to by the members of the I structure are stored in the buffer " "I of size I. A pointer to the result (in case of success) or " "NULL (in case no entry was found or an error occurred) is stored in " "I<*result>." msgstr "" "B() と B() 関数は、それぞれ B() と\n" "B() と同じ情報を取得するが、取得した I 構造体を\n" "I が指す領域に格納する。I 構造体のメンバーが指す文字列は、\n" "サイズ I のバッファー I に格納される。成功した場合\n" "I<*gbufp> には結果へのポインターが格納される。エントリーが見つからなかった\n" "場合やエラーが発生した場合には I<*result> には NULL が入る。" #. type: Plain text #: build/C/man3/getgrnam.3:126 build/C/man3/getpwnam.3:132 msgid "The call" msgstr "呼び出し" #. type: Plain text #: build/C/man3/getgrnam.3:128 #, no-wrap msgid " sysconf(_SC_GETGR_R_SIZE_MAX)\n" msgstr " sysconf(_SC_GETGR_R_SIZE_MAX)\n" #. type: Plain text #: build/C/man3/getgrnam.3:137 build/C/man3/getpwnam.3:143 msgid "" "returns either -1, without changing I, or an initial suggested size " "for I. (If this size is too small, the call fails with B, in " "which case the caller can retry with a larger buffer.)" msgstr "" "は、 I を変更せずに -1 を返すか、 I の初期サイズの推奨値を\n" "返す。(このサイズが小さすぎる場合、呼び出しは B で失敗し、この\n" "場合には呼び出し側はバッファーを大きくしてから再度呼び出すことができる。)" #. type: Plain text #: build/C/man3/getgrnam.3:152 msgid "" "The B() and B() functions return a pointer to a " "I structure, or NULL if the matching entry is not found or an error " "occurs. If an error occurs, I is set appropriately. If one wants to " "check I after the call, it should be set to zero before the call." msgstr "" "B() と B() 関数は、 I 構造体へのポインターを返" "す。 マッチするエントリーが見つからなかった場合や、 エラーが発生した場合は " "NULL を返す。 エラーが起こった場合、 I が適切に設定される。 呼び出しの" "後で I をチェックしたい場合は、 呼び出しの前に (この値を) 0 に設定して" "おくべきである。" #. type: Plain text #: build/C/man3/getgrnam.3:161 msgid "" "The return value may point to a static area, and may be overwritten by " "subsequent calls to B(3), B(), or B(). (Do " "not pass the returned pointer to B(3).)" msgstr "" "返り値は静的な領域を指しており、その後の B(3), B(), " "B() の呼び出しで上書きされるかもしれない。 (返されたポインターを " "B(3) に渡さないこと。)" #. type: Plain text #: build/C/man3/getgrnam.3:175 msgid "" "On success, B() and B() return zero, and set " "I<*result> to I. If no matching group record was found, these " "functions return 0 and store NULL in I<*result>. In case of error, an error " "number is returned, and NULL is stored in I<*result>." msgstr "" "成功すると、 B() と B() は 0 を返し、 I<*result> " "に I を設定する。 マッチするグループエントリーが見つからなかった場合に" "は、 0 を返し、 I<*result> に NULL を設定する。 エラーの場合、エラー番号を返" "し、 I<*result> に NULL を設定する。" #. type: TP #: build/C/man3/getgrnam.3:176 build/C/man3/getpwnam.3:182 #, no-wrap msgid "B<0> or B or B or B or B or ... " msgstr "B<0> または B または B または B または B または ... " #. type: Plain text #: build/C/man3/getgrnam.3:183 msgid "The given I or I was not found." msgstr "指定された I または I が見つからなかった。" #. type: Plain text #: build/C/man3/getgrnam.3:194 build/C/man3/getpwent.3:137 #: build/C/man3/getpwnam.3:200 msgid "" "The maximum number (B) of files was open already in the calling " "process." msgstr "" "呼び出し元プロセスがオープンしているファイル数が すでに上限 (B) で" "あった。" #. type: Plain text #: build/C/man3/getgrnam.3:197 build/C/man3/getpwent.3:140 #: build/C/man3/getpwnam.3:203 msgid "The maximum number of files was open already in the system." msgstr "システムでオープンされているファイル数がすでに上限であった。" #. type: Plain text #: build/C/man3/getgrnam.3:218 msgid "The B() and B() functions are not thread-safe." msgstr "関数 B() と B() はスレッドセーフではない。" #. type: Plain text #: build/C/man3/getgrnam.3:224 msgid "The B() and B() functions are thread-safe." msgstr "関数 B() と B() はスレッドセーフである。" #. more precisely: #. AIX 5.1 - gives ESRCH #. OSF1 4.0g - gives EWOULDBLOCK #. libc, glibc up to version 2.6, Irix 6.5 - give ENOENT #. glibc since version 2.7 - give 0 #. FreeBSD 4.8, OpenBSD 3.2, NetBSD 1.6 - give EPERM #. SunOS 5.8 - gives EBADF #. Tru64 5.1b, HP-UX-11i, SunOS 5.7 - give 0 #. type: Plain text #: build/C/man3/getgrnam.3:247 msgid "" "The formulation given above under \"RETURN VALUE\" is from POSIX.1-2001. It " "does not call \"not found\" an error, hence does not specify what value " "I might have in this situation. But that makes it impossible to " "recognize errors. One might argue that according to POSIX I should " "be left unchanged if an entry is not found. Experiments on various UNIX-" "like systems shows that lots of different values occur in this situation: 0, " "ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM, and probably others." msgstr "" "上記の「返り値」以下の記述は POSIX.1-2001 に拠る。 この標準は「(エントリー" "が) 見つからないこと」をエラーとしていないので、 そのような場合に I が" "どのような値になるかを定めていない。 そのため、エラーを認識することは不可能で" "ある。 POSIX に準拠して、エントリーが見つからない場合は I を変更しない" "ようにすべきである、と主張する人もいるかもしれない。 様々な UNIX 系のシステム" "で試してみると、そのような場合には 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, " "EPERM といった様々な値が返される。 他の値が返されるかもしれない。" #. type: Plain text #: build/C/man3/getgrnam.3:254 msgid "" "B(3), B(3), B(3), B(3), " "B(3), B(5)" msgstr "" "B(3), B(3), B(3), B(3), " "B(3), B(5)" #. type: TH #: build/C/man3/getgrouplist.3:29 #, no-wrap msgid "GETGROUPLIST" msgstr "GETGROUPLIST" #. type: Plain text #: build/C/man3/getgrouplist.3:32 msgid "getgrouplist - get list of groups to which a user belongs" msgstr "getgrouplist - ユーザーが所属するグループのリストを取得する" #. type: Plain text #: build/C/man3/getgrouplist.3:34 build/C/man3/putgrent.3:14 msgid "B<#include Egrp.hE>" msgstr "B<#include Egrp.hE>" #. type: Plain text #: build/C/man3/getgrouplist.3:36 msgid "BIB<, gid_t >IB<,>" msgstr "BIB<, gid_t >IB<,>" #. type: Plain text #: build/C/man3/getgrouplist.3:38 msgid "B< gid_t *>IB<, int *>IB<);>" msgstr "B< gid_t *>IB<, int *>IB<);>" #. type: Plain text #: build/C/man3/getgrouplist.3:46 msgid "B(): _BSD_SOURCE" msgstr "B(): _BSD_SOURCE" #. type: Plain text #: build/C/man3/getgrouplist.3:58 msgid "" "The B() function scans the group database (see B(5)) " "to obtain the list of groups that I belongs to. Up to I<*ngroups> of " "these groups are returned in the array I." msgstr "" "B() 関数は、グループデータベース (B(5) 参照) を調べ" "て、 I が所属するグループのリストを取得する。 見つかったグループのうち" "最大 I<*ngroups> 個のグループが、配列 I に格納されて返される。" #. type: Plain text #: build/C/man3/getgrouplist.3:68 msgid "" "If it was not among the groups defined for I in the group database, " "then I is included in the list of groups returned by " "B(); typically this argument is specified as the group ID from " "the password record for I." msgstr "" "引き数 I がグループデータベースに I が所属するグループがなかった" "場合、 B() が返すグループのリストに引き数 I も追加され" "る。 通常は、この引き数にはユーザー I のパスワードレコードに書かれてい" "るグループ ID を指定する。" #. type: Plain text #: build/C/man3/getgrouplist.3:78 msgid "" "The I argument is a value-result argument: on return it always " "contains the number of groups found for I, including I; this " "value may be greater than the number of groups stored in I." msgstr "" "引き数 I は、値渡しと結果の両方に使用される引き数 (value-result " "argument) であり、 リターン時には、常に I も含めた I が所属する" "グループ数が格納される。 この値は I に格納されたグループ数より大きく" "なる可能性がある。" #. type: Plain text #: build/C/man3/getgrouplist.3:86 msgid "" "If the number of groups of which I is a member is less than or equal " "to I<*ngroups>, then the value I<*ngroups> is returned." msgstr "" "I が所属しているグループ数が I<*ngroups> 以下の場合、 I<*ngroups> の値" "が返される。" #. type: Plain text #: build/C/man3/getgrouplist.3:96 msgid "" "If the user is a member of more than I<*ngroups> groups, then " "B() returns -1. In this case, the value returned in " "I<*ngroups> can be used to resize the buffer passed to a further call " "B()." msgstr "" "指定されたユーザーが I<*ngroups> より多くのグループに所属している場合、 " "B() は -1 を返す。 この場合、 I<*ngroups> で返される値を使っ" "て、バッファーのサイズを変更してから、 B() をもう一度呼び出す" "ことができる。" #. type: SH #: build/C/man3/getgrouplist.3:96 #, no-wrap msgid "VERSIONS" msgstr "バージョン" #. type: Plain text #: build/C/man3/getgrouplist.3:98 msgid "This function is present since glibc 2.2.4." msgstr "この関数は glibc 2.2.4 から存在する。" #. type: Plain text #: build/C/man3/getgrouplist.3:100 msgid "This function is nonstandard; it appears on most BSDs." msgstr "この関数は非標準である。ほとんどの BSD に存在する。" #. type: SH #: build/C/man3/getgrouplist.3:100 build/C/man3/getpw.3:108 #: build/C/man5/group.5:55 #, no-wrap msgid "BUGS" msgstr "バグ" #. type: Plain text #: build/C/man3/getgrouplist.3:109 msgid "" "In glibc versions before 2.3.3, the implementation of this function contains " "a buffer-overrun bug: it returns the complete list of groups for I in " "the array I, even when the number of groups exceeds I<*ngroups>." msgstr "" "バージョン 2.3.3 より前の glibc では、 この関数の実装にはバッファーオーバーフ" "ローのバグがあり、 I が所属するグループ数が I<*ngroups> より多い場合で" "あっても、 I が所属するグループの全リストを配列 I に格納してし" "まう。" #. type: Plain text #: build/C/man3/getgrouplist.3:118 msgid "" "The program below displays the group list for the user named in its first " "command-line argument. The second command-line argument specifies the " "I value to be supplied to B(). The following shell " "session shows examples of the use of this program:" msgstr "" "以下のプログラムは、一つ目のコマンドライン引き数で指定された名前のユーザー が" "所属するグループのリストを表示する。 二番目のコマンドライン引き数には、 " "B() に渡す I の値を指定する。 以下のシェルのセッショ" "ンはこのプログラムの使用例を示したものである。" #. type: Plain text #: build/C/man3/getgrouplist.3:128 #, no-wrap msgid "" "$B< ./a.out cecilia 0>\n" "getgrouplist() returned -1; ngroups = 3\n" "$B< ./a.out cecilia 3>\n" "ngroups = 3\n" "16 (dialout)\n" "33 (video)\n" "100 (users)\n" msgstr "" "$B< ./a.out cecilia 0>\n" "getgrouplist() returned -1; ngroups = 3\n" "$B< ./a.out cecilia 3>\n" "ngroups = 3\n" "16 (dialout)\n" "33 (video)\n" "100 (users)\n" #. type: SS #: build/C/man3/getgrouplist.3:130 #, no-wrap msgid "Program source" msgstr "プログラムのソース" #. type: Plain text #: build/C/man3/getgrouplist.3:137 #, no-wrap msgid "" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Egrp.hE\n" "#include Epwd.hE\n" msgstr "" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Egrp.hE\n" "#include Epwd.hE\n" #. type: Plain text #: build/C/man3/getgrouplist.3:145 #, no-wrap msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" " int j, ngroups;\n" " gid_t *groups;\n" " struct passwd *pw;\n" " struct group *gr;\n" msgstr "" "int\n" "main(int argc, char *argv[])\n" "{\n" " int j, ngroups;\n" " gid_t *groups;\n" " struct passwd *pw;\n" " struct group *gr;\n" #. type: Plain text #: build/C/man3/getgrouplist.3:150 #, no-wrap msgid "" " if (argc != 3) {\n" " fprintf(stderr, \"Usage: %s EuserE EngroupsE\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " if (argc != 3) {\n" " fprintf(stderr, \"Usage: %s EuserE EngroupsE\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: build/C/man3/getgrouplist.3:152 #, no-wrap msgid " ngroups = atoi(argv[2]);\n" msgstr " ngroups = atoi(argv[2]);\n" #. type: Plain text #: build/C/man3/getgrouplist.3:158 #, no-wrap msgid "" " groups = malloc(ngroups * sizeof (gid_t));\n" " if (groups == NULL) {\n" " perror(\"malloc\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " groups = malloc(ngroups * sizeof (gid_t));\n" " if (groups == NULL) {\n" " perror(\"malloc\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: build/C/man3/getgrouplist.3:160 #, no-wrap msgid " /* Fetch passwd structure (contains first group ID for user) */\n" msgstr " /* Fetch passwd structure (contains first group ID for user) */\n" #. type: Plain text #: build/C/man3/getgrouplist.3:166 #, no-wrap msgid "" " pw = getpwnam(argv[1]);\n" " if (pw == NULL) {\n" " perror(\"getpwnam\");\n" " exit(EXIT_SUCCESS);\n" " }\n" msgstr "" " pw = getpwnam(argv[1]);\n" " if (pw == NULL) {\n" " perror(\"getpwnam\");\n" " exit(EXIT_SUCCESS);\n" " }\n" #. type: Plain text #: build/C/man3/getgrouplist.3:168 #, no-wrap msgid " /* Retrieve group list */\n" msgstr " /* Retrieve group list */\n" #. type: Plain text #: build/C/man3/getgrouplist.3:174 #, no-wrap msgid "" " if (getgrouplist(argv[1], pw-Epw_gid, groups, &ngroups) == -1) {\n" " fprintf(stderr, \"getgrouplist() returned -1; ngroups = %d\\en\",\n" " ngroups);\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " if (getgrouplist(argv[1], pw-Epw_gid, groups, &ngroups) == -1) {\n" " fprintf(stderr, \"getgrouplist() returned -1; ngroups = %d\\en\",\n" " ngroups);\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: build/C/man3/getgrouplist.3:176 #, no-wrap msgid " /* Display list of retrieved groups, along with group names */\n" msgstr " /* Display list of retrieved groups, along with group names */\n" #. type: Plain text #: build/C/man3/getgrouplist.3:185 #, no-wrap msgid "" " fprintf(stderr, \"ngroups = %d\\en\", ngroups);\n" " for (j = 0; j E ngroups; j++) {\n" " printf(\"%d\", groups[j]);\n" " gr = getgrgid(groups[j]);\n" " if (gr != NULL)\n" " printf(\" (%s)\", gr-Egr_name);\n" " printf(\"\\en\");\n" " }\n" msgstr "" " fprintf(stderr, \"ngroups = %d\\en\", ngroups);\n" " for (j = 0; j E ngroups; j++) {\n" " printf(\"%d\", groups[j]);\n" " gr = getgrgid(groups[j]);\n" " if (gr != NULL)\n" " printf(\" (%s)\", gr-Egr_name);\n" " printf(\"\\en\");\n" " }\n" #. type: Plain text #: build/C/man3/getgrouplist.3:188 #, no-wrap msgid "" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" " exit(EXIT_SUCCESS);\n" "}\n" #. type: Plain text #: build/C/man3/getgrouplist.3:196 msgid "" "B(2), B(2), B(3), B(3), " "B(5), B(5)" msgstr "" "B(2), B(2), B(3), B(3), " "B(5), B(5)" #. type: TH #: build/C/man3/getpw.3:32 #, no-wrap msgid "GETPW" msgstr "GETPW" #. type: Plain text #: build/C/man3/getpw.3:35 msgid "getpw - reconstruct password line entry" msgstr "getpw - パスワード行エントリーを取得する" #. type: Plain text #: build/C/man3/getpw.3:40 #, no-wrap msgid "" "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n" "B<#include Esys/types.hE>\n" "B<#include Epwd.hE>\n" msgstr "" "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */\n" "B<#include Esys/types.hE>\n" "B<#include Epwd.hE>\n" #. type: Plain text #: build/C/man3/getpw.3:42 #, no-wrap msgid "BIB<, char *>IB<);>\n" msgstr "BIB<, char *>IB<);>\n" #. type: Plain text #: build/C/man3/getpw.3:49 msgid "" "The B() function reconstructs the password line entry for the given " "user ID I in the buffer I. The returned buffer contains a line of " "format" msgstr "" "B() 関数は、バッファー I に指定ユーザー ID I の パスワード" "行エントリーを取得する。 返されるバッファーは、以下の形式の行を含む。" #. type: Plain text #: build/C/man3/getpw.3:52 msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/getpw.3:67 build/C/man3/getpwent.3:98 #: build/C/man3/getpwnam.3:102 #, no-wrap msgid "" "struct passwd {\n" " char *pw_name; /* username */\n" " char *pw_passwd; /* user password */\n" " uid_t pw_uid; /* user ID */\n" " gid_t pw_gid; /* group ID */\n" " char *pw_gecos; /* user information */\n" " char *pw_dir; /* home directory */\n" " char *pw_shell; /* shell program */\n" "};\n" msgstr "" "struct passwd {\n" " char *pw_name; /* ユーザー名 */\n" " char *pw_passwd; /* ユーザーのパスワード */\n" " uid_t pw_uid; /* ユーザー ID */\n" " gid_t pw_gid; /* グループ ID */\n" " char *pw_gecos; /* ユーザー情報 */\n" " char *pw_dir; /* ホームディレクトリ */\n" " char *pw_shell; /* シェルプログラム */\n" "};\n" #. type: Plain text #: build/C/man3/getpw.3:72 build/C/man3/getpwent.3:103 #: build/C/man3/getpwent_r.3:84 msgid "" "For more information about the fields of this structure, see B(5)." msgstr "この構造体のフィールドの詳細は B(5) を参照のこと。" #. type: Plain text #: build/C/man3/getpw.3:78 msgid "" "The B() function returns 0 on success; on error, it returns -1, and " "I is set to indicate the error." msgstr "" "B() 関数は、成功した場合 0 を返す; エラーが発生した場合 -1 を返し、エ" "ラーを 示すために I がセットされる。" #. type: Plain text #: build/C/man3/getpw.3:88 msgid "" "If I is not found in the password database, B() returns -1, " "sets I to 0, and leaves I unchanged." msgstr "" "I がパスワードデータベースに見つからない場合、 B() は -1 を返" "し、 I に 0 を設定し、 I は変更しない。" #. type: TP #: build/C/man3/getpw.3:89 #, no-wrap msgid "B<0> or B" msgstr "B<0> または B" #. type: Plain text #: build/C/man3/getpw.3:93 msgid "No user corresponding to I." msgstr "I に対応するユーザーがいない。" #. type: TP #: build/C/man3/getpw.3:93 build/C/man3/putpwent.3:79 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/getpw.3:97 msgid "I is NULL." msgstr "I が NULL。" #. type: Plain text #: build/C/man3/getpw.3:108 msgid "SVr2." msgstr "SVr2" #. type: Plain text #: build/C/man3/getpw.3:115 msgid "" "The B() function is dangerous as it may overflow the provided buffer " "I. It is obsoleted by B(3)." msgstr "" "B() 関数は、与えられたバッファー I がオーバーフローするかもしれ" "ないので危険である。 この関数は B(3) によって古いものとなった。" #. type: Plain text #: build/C/man3/getpw.3:124 msgid "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(3), B(5)" msgstr "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(3), B(5)" #. type: TH #: build/C/man3/getpwent.3:33 #, no-wrap msgid "GETPWENT" msgstr "GETPWENT" #. type: TH #: build/C/man3/getpwent.3:33 #, no-wrap msgid "2013-06-21" msgstr "2013-06-21" #. type: Plain text #: build/C/man3/getpwent.3:36 msgid "getpwent, setpwent, endpwent - get password file entry" msgstr "getpwent, setpwent, endpwent - パスワードファイルのエントリーの取得" #. type: Plain text #: build/C/man3/getpwent.3:40 build/C/man3/getpwnam.3:44 #, no-wrap msgid "" "B<#include Esys/types.hE>\n" "B<#include Epwd.hE>\n" msgstr "" "B<#include Esys/types.hE>\n" "B<#include Epwd.hE>\n" #. type: Plain text #: build/C/man3/getpwent.3:42 #, no-wrap msgid "B\n" msgstr "B\n" #. type: Plain text #: build/C/man3/getpwent.3:44 #, no-wrap msgid "B\n" msgstr "B\n" #. type: Plain text #: build/C/man3/getpwent.3:46 #, no-wrap msgid "B\n" msgstr "B\n" #. type: Plain text #: build/C/man3/getpwent.3:57 msgid "B(), B(), B():" msgstr "B(), B(), B():" #. type: Plain text #: build/C/man3/getpwent.3:60 msgid "" "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E=\\ 500 || _XOPEN_SOURCE" "\\ &&\\ _XOPEN_SOURCE_EXTENDED" msgstr "" "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E=\\ 500 || _XOPEN_SOURCE" "\\ &&\\ _XOPEN_SOURCE_EXTENDED" #. type: Plain text #: build/C/man3/getpwent.3:74 msgid "" "The B() function returns a pointer to a structure containing the " "broken-out fields of a record from the password database (e.g., the local " "password file I, NIS, and LDAP). The first time B() " "is called, it returns the first entry; thereafter, it returns successive " "entries." msgstr "" "B() 関数は、パスワードデータベースから取得したエントリーを 要素毎" "に分解し、各要素を格納した構造体へのポインターを返す (パスワードデータベース" "の例: ローカルのパスワードファイル I, NIS, LDAP)。 " "B() は、最初に呼び出された時は最初のエントリーを返し、それ以降は " "呼び出される毎に次のエントリーを返す。" #. type: Plain text #: build/C/man3/getpwent.3:79 msgid "" "The B() function rewinds to the beginning of the password " "database." msgstr "B() 関数を使うと、パスワードデータベースの先頭に戻る。" #. type: Plain text #: build/C/man3/getpwent.3:84 msgid "" "The B() function is used to close the password database after all " "processing has been performed." msgstr "" "B() 関数は、全ての処理が終わった後にパスワード データベースをク" "ローズする。" #. type: Plain text #: build/C/man3/getpwent.3:116 msgid "" "The B() function returns a pointer to a I structure, or " "NULL if there are no more entries or an error occurred. If an error occurs, " "I is set appropriately. If one wants to check I after the " "call, it should be set to zero before the call." msgstr "" "B() 関数は I 構造体へのポインターを返す。 これ以上エント" "リーが無いか、エラーが発生した場合は NULL を返す。 エラーが発生すると、 " "I が適切に設定される。 この関数の呼び出し後に I をチェックした" "い場合は、呼び出し前に I を 0 に設定しておかないといけない。" #. type: Plain text #: build/C/man3/getpwent.3:125 msgid "" "The return value may point to a static area, and may be overwritten by " "subsequent calls to B(), B(3), or B(3). (Do " "not pass the returned pointer to B(3).)" msgstr "" "返り値は静的な領域を指しており、その後の B(), B(3), " "B(3) の呼び出しで上書きされるかもしれない。 (返されたポインターを " "B(3) に渡さないこと。)" #. type: Plain text #: build/C/man3/getpwent.3:154 build/C/man3/getpwnam.3:217 msgid "local password database file" msgstr "ローカルのパスワードデータベースファイル" #. type: Plain text #: build/C/man3/getpwent.3:159 msgid "The B() function is not thread-safe." msgstr "B() 関数はスレッドセーフではない。" #. type: Plain text #: build/C/man3/getpwent.3:165 msgid "The B() and B() functions are thread-safe." msgstr "関数 B() と B() はスレッドセーフである。" #. type: Plain text #: build/C/man3/getpwent.3:170 build/C/man3/getpwnam.3:235 msgid "" "SVr4, 4.3BSD, POSIX.1-2001. The I field is not specified in " "POSIX, but is present on most implementations." msgstr "" "SVr4, 4.3BSD, POSIX.1-2001. I フィールドは POSIX では規定されてい" "ないが、 ほとんどの実装に存在する。" #. type: Plain text #: build/C/man3/getpwent.3:178 msgid "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(5)" msgstr "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(5)" #. type: TH #: build/C/man3/getpwent_r.3:24 #, no-wrap msgid "GETPWENT_R" msgstr "GETPWENT_R" #. type: Plain text #: build/C/man3/getpwent_r.3:27 msgid "getpwent_r, fgetpwent_r - get passwd file entry reentrantly" msgstr "" "getpwent_r, fgetpwent_r - パスワードファイルのエントリーを リエントラントで取" "り出す" #. type: Plain text #: build/C/man3/getpwent_r.3:30 #, no-wrap msgid "B<#include Epwd.hE>\n" msgstr "B<#include Epwd.hE>\n" #. type: Plain text #: build/C/man3/getpwent_r.3:32 #, no-wrap msgid "BIB<, char *>IB<,>\n" msgstr "BIB<, char *>IB<,>\n" #. type: Plain text #: build/C/man3/getpwent_r.3:34 #, no-wrap msgid "B< size_t >IB<, struct passwd **>IB<);>\n" msgstr "B< size_t >IB<, struct passwd **>IB<);>\n" #. type: Plain text #: build/C/man3/getpwent_r.3:36 #, no-wrap msgid "BIB<, struct passwd *>IB<, char *>IB<,>\n" msgstr "BIB<, struct passwd *>IB<, char *>IB<,>\n" #. type: Plain text #: build/C/man3/getpwent_r.3:38 #, no-wrap msgid "B< size_t >IB<, struct passwd **>IB<);>\n" msgstr "B< size_t >IB<, struct passwd **>IB<);>\n" #. type: Plain text #: build/C/man3/getpwent_r.3:47 msgid "B(), _BSD_SOURCE || _SVID_SOURCE" msgstr "B(), _BSD_SOURCE || _SVID_SOURCE" #. type: Plain text #: build/C/man3/getpwent_r.3:50 msgid "B(): _SVID_SOURCE" msgstr "B(): _SVID_SOURCE" #. type: Plain text #: build/C/man3/getpwent_r.3:63 msgid "" "The functions B() and B() are the reentrant " "versions of B(3) and B(3). The former reads the next " "passwd entry from the stream initialized by B(3). The latter " "reads the next passwd entry from I." msgstr "" "関数 B() と B() は B(3) と " "B(3) のリエントラント (reentrant) 版である。 前者は、 " "B(3) によって初期化されたストリームから、次のパスワードエントリー" "を読み込む。 後者は、 I から次のパスワードエントリーを読み込む。" #. type: Plain text #: build/C/man3/getpwent_r.3:79 #, no-wrap msgid "" "struct passwd {\n" " char *pw_name; /* username */\n" " char *pw_passwd; /* user password */\n" " uid_t pw_uid; /* user ID */\n" " gid_t pw_gid; /* group ID */\n" " char *pw_gecos; /* user information */\n" " char *pw_dir; /* home directory */\n" " char *pw_shell; /* shell program */\n" "};\n" msgstr "" "struct passwd {\n" " char *pw_name; /* ユーザー名 */\n" " char *pw_passwd; /* ユーザーのパスワード */\n" " uid_t pw_uid; /* ユーザー ID */\n" " gid_t pw_gid; /* グループ ID */\n" " char *pw_gecos; /* ユーザー情報 */\n" " char *pw_dir; /* ホームディレクトリ */\n" " char *pw_shell; /* シェルプログラム */\n" "};\n" #. type: Plain text #: build/C/man3/getpwent_r.3:103 msgid "" "The nonreentrant functions return a pointer to static storage, where this " "static storage contains further pointers to user name, password, gecos " "field, home directory and shell. The reentrant functions described here " "return all of that in caller-provided buffers. First of all there is the " "buffer I that can hold a I. And next the buffer " "I of size I that can hold additional strings. The result of " "these functions, the I read from the stream, is stored in the " "provided buffer I<*pwbuf>, and a pointer to this I is " "returned in I<*pwbufp>." msgstr "" "リエントラントでない関数は静的な格納領域へのポインターを返す。 この静的な格納" "領域には、更にユーザー名・パスワード・gecos フィールド・ ホームディレクトリ・" "シェルへのポインターが含まれる。 ここで説明されているリエントラント版の関数" "は、 呼び出し側から提供されるバッファーにユーザー名など全てを返す。 最初の引" "き数として I を保持できるバッファー I がある。 次にその" "他の文字列を保持できるサイズ I のバッファー I がある。 これらの" "関数の結果 (ストリームから読み込まれた I) は、 提供されたバッ" "ファー I<*pwbuf> に格納され、この I へのポインターは " "I<*pwbufp> に返される。" #. type: Plain text #: build/C/man3/getpwent_r.3:110 msgid "" "On success, these functions return 0 and I<*pwbufp> is a pointer to the " "I. On error, these functions return an error value and " "I<*pwbufp> is NULL." msgstr "" "成功した場合、これらの関数は 0 を返し、 I<*pwbufp> は I へのポ" "インターとなる。 エラーの場合、これらの関数はエラー値を返し、 I<*pwbufp> は " "NULL になる。" #. type: Plain text #: build/C/man3/getpwent_r.3:128 #, no-wrap msgid "" "struct passwd *\n" "getpwent_r(struct passwd *pwd, char *buf, int buflen);\n" msgstr "" "struct passwd *\n" "getpwent_r(struct passwd *pwd, char *buf, int buflen);\n" #. type: Plain text #: build/C/man3/getpwent_r.3:138 #, no-wrap msgid "" "int\n" "getpwent_r(struct passwd *pwd, char *buf, int buflen,\n" " FILE **pw_fp);\n" msgstr "" "int\n" "getpwent_r(struct passwd *pwd, char *buf, int buflen,\n" " FILE **pw_fp);\n" #. type: Plain text #: build/C/man3/getpwent_r.3:145 msgid "" "The function B() is not really reentrant since it shares the " "reading position in the stream with all other threads." msgstr "" "関数 B() は本当のリエントラントではない。 なぜなら、ストリームの" "読み込み位置を 他の全てのスレッドと共有しているためである。" #. type: Plain text #: build/C/man3/getpwent_r.3:151 #, no-wrap msgid "" "#define _GNU_SOURCE\n" "#include Epwd.hE\n" "#include Estdio.hE\n" "#define BUFLEN 4096\n" msgstr "" "#define _GNU_SOURCE\n" "#include Epwd.hE\n" "#include Estdio.hE\n" "#define BUFLEN 4096\n" #. type: Plain text #: build/C/man3/getpwent_r.3:158 #, no-wrap msgid "" "int\n" "main(void)\n" "{\n" " struct passwd pw, *pwp;\n" " char buf[BUFLEN];\n" " int i;\n" msgstr "" "int\n" "main(void)\n" "{\n" " struct passwd pw, *pwp;\n" " char buf[BUFLEN];\n" " int i;\n" #. type: Plain text #: build/C/man3/getpwent_r.3:170 #, no-wrap msgid "" " setpwent();\n" " while (1) {\n" " i = getpwent_r(&pw, buf, BUFLEN, &pwp);\n" " if (i)\n" " break;\n" " printf(\"%s (%d)\\etHOME %s\\etSHELL %s\\en\", pwp-Epw_name,\n" " pwp-Epw_uid, pwp-Epw_dir, pwp-Epw_shell);\n" " }\n" " endpwent();\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" " setpwent();\n" " while (1) {\n" " i = getpwent_r(&pw, buf, BUFLEN, &pwp);\n" " if (i)\n" " break;\n" " printf(\"%s (%d)\\etHOME %s\\etSHELL %s\\en\", pwp-Epw_name,\n" " pwp-Epw_uid, pwp-Epw_dir, pwp-Epw_shell);\n" " }\n" " endpwent();\n" " exit(EXIT_SUCCESS);\n" "}\n" #. type: Plain text #: build/C/man3/getpwent_r.3:188 msgid "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(5)" msgstr "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(5)" #. type: TH #: build/C/man3/getpwnam.3:37 #, no-wrap msgid "GETPWNAM" msgstr "GETPWNAM" #. type: TH #: build/C/man3/getpwnam.3:37 #, no-wrap msgid "2013-07-22" msgstr "2013-07-22" #. type: Plain text #: build/C/man3/getpwnam.3:40 msgid "getpwnam, getpwnam_r, getpwuid, getpwuid_r - get password file entry" msgstr "" "getpwnam, getpwnam_r, getpwuid, getpwuid_r - パスワードファイルのエントリーの" "取得" #. type: Plain text #: build/C/man3/getpwnam.3:46 #, no-wrap msgid "BIB<);>\n" msgstr "BIB<);>\n" #. type: Plain text #: build/C/man3/getpwnam.3:48 #, no-wrap msgid "BIB<);>\n" msgstr "BIB<);>\n" #. type: Plain text #: build/C/man3/getpwnam.3:50 #, no-wrap msgid "BIB<, struct passwd *>IB<,>\n" msgstr "BIB<, struct passwd *>IB<,>\n" #. type: Plain text #: build/C/man3/getpwnam.3:52 build/C/man3/getpwnam.3:56 #, no-wrap msgid "B< char *>IB<, size_t >IB<, struct passwd **>IB<);>\n" msgstr "B< char *>IB<, size_t >IB<, struct passwd **>IB<);>\n" #. type: Plain text #: build/C/man3/getpwnam.3:54 #, no-wrap msgid "BIB<, struct passwd *>IB<,>\n" msgstr "BIB<, struct passwd *>IB<,>\n" #. type: Plain text #: build/C/man3/getpwnam.3:66 msgid "B(), B():" msgstr "B(), B():" #. type: Plain text #: build/C/man3/getpwnam.3:81 msgid "" "The B() function returns a pointer to a structure containing the " "broken-out fields of the record in the password database (e.g., the local " "password file I, NIS, and LDAP) that matches the username " "I." msgstr "" "B() 関数は、ユーザー名 I にマッチするパスワードデータベース" "のエントリーを 要素毎に分解し、各要素を格納した構造体へのポインターを返す (パ" "スワードデータベースの例: ローカルのパスワードファイル I, NIS, " "LDAP)。" #. type: Plain text #: build/C/man3/getpwnam.3:88 msgid "" "The B() function returns a pointer to a structure containing the " "broken-out fields of the record in the password database that matches the " "user ID I." msgstr "" "B() 関数は、ユーザー ID I にマッチするパスワードデータベース" "のエントリーを 要素毎に分解し、各要素を格納した構造体へのポインターを返す。" #. type: Plain text #: build/C/man3/getpwnam.3:108 msgid "See B(5) for more information about these fields." msgstr "これらのフィールドの詳しい情報については B(5) を参照のこと。" #. type: Plain text #: build/C/man3/getpwnam.3:130 msgid "" "The B() and B() functions obtain the same " "information as B() and B(), but store the retrieved " "I structure in the space pointed to by I. The string fields " "pointed to by the members of the I structure are stored in the " "buffer I of size I. A pointer to the result (in case of " "success) or NULL (in case no entry was found or an error occurred) is stored " "in I<*result>." msgstr "" "B() と B() 関数は、それぞれB() と\n" "B() と同じ情報を取得するが、取得した I 構造体を\n" "I が指す領域に格納する。I 構造体のメンバーが指す文字列は、\n" "サイズ I のバッファー I に格納される。成功した場合\n" "I<*result> には結果へのポインターが格納される。エントリーが見つからなかった\n" "場合やエラーが発生した場合には I<*result> には NULL が入る。" #. type: Plain text #: build/C/man3/getpwnam.3:134 #, no-wrap msgid " sysconf(_SC_GETPW_R_SIZE_MAX)\n" msgstr " sysconf(_SC_GETPW_R_SIZE_MAX)\n" #. type: Plain text #: build/C/man3/getpwnam.3:158 msgid "" "The B() and B() functions return a pointer to a " "I structure, or NULL if the matching entry is not found or an error " "occurs. If an error occurs, I is set appropriately. If one wants to " "check I after the call, it should be set to zero before the call." msgstr "" "B() と B() 関数は、 I 構造体へのポインターを返" "す。 一致するエントリーが見つからなかった場合や、エラーが発生した場合は NULL " "を返す。 エラーが起こった場合、 I が適切に設定される。 呼び出しの後で " "I をチェックしたい場合は、 呼び出しの前に (この値を) 0 に設定しておく" "べきである。" #. type: Plain text #: build/C/man3/getpwnam.3:167 msgid "" "The return value may point to a static area, and may be overwritten by " "subsequent calls to B(3), B(), or B(). (Do " "not pass the returned pointer to B(3).)" msgstr "" "返り値は静的な領域を指しており、その後の B(3), B(), " "B() の呼び出しで上書きされるかもしれない。 (返されたポインターを " "B(3) に渡さないこと。)" #. type: Plain text #: build/C/man3/getpwnam.3:181 msgid "" "On success, B() and B() return zero, and set " "I<*result> to I. If no matching password record was found, these " "functions return 0 and store NULL in I<*result>. In case of error, an error " "number is returned, and NULL is stored in I<*result>." msgstr "" "成功すると、 B() と B() は 0 を返し、 I<*result> " "に I を設定する。 マッチするパスワードエントリーが見つからなかった場合に" "は、 0 を返し、 I<*result> に NULL を設定する。 エラーの場合、エラー番号を返" "し、 I<*result> に NULL を設定する。" #. type: Plain text #: build/C/man3/getpwnam.3:189 msgid "The given I or I was not found." msgstr "指定された I または I が見つからなかった。" #. type: Plain text #: build/C/man3/getpwnam.3:224 msgid "The B() and B() functions are not thread-safe." msgstr "関数 B() と B() はスレッドセーフではない。" #. type: Plain text #: build/C/man3/getpwnam.3:230 msgid "The B() and B() functions are thread-safe." msgstr "関数 B() と B() はスレッドセーフである。" #. more precisely: #. AIX 5.1 - gives ESRCH #. OSF1 4.0g - gives EWOULDBLOCK #. libc, glibc up to version 2.6, Irix 6.5 - give ENOENT #. glibc since version 2.7 - give 0 #. FreeBSD 4.8, OpenBSD 3.2, NetBSD 1.6 - give EPERM #. SunOS 5.8 - gives EBADF #. Tru64 5.1b, HP-UX-11i, SunOS 5.7 - give 0 #. type: Plain text #: build/C/man3/getpwnam.3:256 msgid "" "The formulation given above under \"RETURN VALUE\" is from POSIX.1-2001. It " "does not call \"not found\" an error, and hence does not specify what value " "I might have in this situation. But that makes it impossible to " "recognize errors. One might argue that according to POSIX I should " "be left unchanged if an entry is not found. Experiments on various UNIX-" "like systems show that lots of different values occur in this situation: 0, " "ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM, and probably others." msgstr "" "上記の「返り値」以下の記述は POSIX.1-2001 に拠る。 この標準は「(エントリー" "が) 見つからないこと」をエラーとしていないので、 そのような場合に I が" "どのような値になるかを定めていない。 そのため、エラーを認識することは不可能で" "ある。 POSIX に準拠して、エントリーが見つからない場合は I を変更しない" "ようにすべきである、と主張する人もいるかもしれない。 様々な UNIX 系のシステム" "で試してみると、そのような場合には 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, " "EPERM といった様々な値が返される。 他の値が返されるかもしれない。" #. type: Plain text #: build/C/man3/getpwnam.3:274 msgid "" "The I field contains the name of the initial working directory of " "the user. Login programs use the value of this field to initialize the " "B environment variable for the login shell. An application that wants " "to determine its user's home directory should inspect the value of B " "(rather than the value Ipw_dir>) since this allows " "the user to modify their notion of \"the home directory\" during a login " "session. To determine the (initial) home directory of another user, it is " "necessary to use Ipw_dir> or similar." msgstr "" "フィールド I には、ユーザーの作業ディレクトリ名の初期値が格納され" "る。 ログインプロセスは、このフィールドの値を使って、 ログインシェルの " "B 環境変数を初期化する。 アプリケーションが、ユーザーのホームディレクト" "リを決定する場合には、 (Ipw_dir> の値ではなく) " "B の値を検査するようにすべきである。 なぜなら、このようにすることで、" "ユーザーがログインセッション中で 「ホームディレクトリ」の意味を変更できるよう" "になるからである。 別のユーザーのホームディレクトリ (の初期値) を知るには " "Ipw_dir> か同様の方法を使う必要がある。" #. type: Plain text #: build/C/man3/getpwnam.3:279 msgid "" "The program below demonstrates the use of B() to find the full " "username and user ID for the username supplied as a command-line argument." msgstr "" "以下のプログラムは B() の使用例を示したもので、コマンドライン引" "き数で渡されたユーザー名に対する 完全なユーザー名とユーザー ID を探すものであ" "る。" #. type: Plain text #: build/C/man3/getpwnam.3:286 #, no-wrap msgid "" "#include Epwd.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Eunistd.hE\n" "#include Eerrno.hE\n" msgstr "" "#include Epwd.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Eunistd.hE\n" "#include Eerrno.hE\n" #. type: Plain text #: build/C/man3/getpwnam.3:295 #, no-wrap msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" " struct passwd pwd;\n" " struct passwd *result;\n" " char *buf;\n" " size_t bufsize;\n" " int s;\n" msgstr "" "int\n" "main(int argc, char *argv[])\n" "{\n" " struct passwd pwd;\n" " struct passwd *result;\n" " char *buf;\n" " size_t bufsize;\n" " int s;\n" #. type: Plain text #: build/C/man3/getpwnam.3:300 #, no-wrap msgid "" " if (argc != 2) {\n" " fprintf(stderr, \"Usage: %s username\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " if (argc != 2) {\n" " fprintf(stderr, \"Usage: %s username\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: build/C/man3/getpwnam.3:304 #, no-wrap msgid "" " bufsize = sysconf(_SC_GETPW_R_SIZE_MAX);\n" " if (bufsize == -1) /* Value was indeterminate */\n" " bufsize = 16384; /* Should be more than enough */\n" msgstr "" " bufsize = sysconf(_SC_GETPW_R_SIZE_MAX);\n" " if (bufsize == -1) /* 値を決定できなかった */\n" " bufsize = 16384; /* 十分大きな値にすべき */\n" #. type: Plain text #: build/C/man3/getpwnam.3:310 #, no-wrap msgid "" " buf = malloc(bufsize);\n" " if (buf == NULL) {\n" " perror(\"malloc\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " buf = malloc(bufsize);\n" " if (buf == NULL) {\n" " perror(\"malloc\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: build/C/man3/getpwnam.3:321 #, no-wrap msgid "" " s = getpwnam_r(argv[1], &pwd, buf, bufsize, &result);\n" " if (result == NULL) {\n" " if (s == 0)\n" " printf(\"Not found\\en\");\n" " else {\n" " errno = s;\n" " perror(\"getpwnam_r\");\n" " }\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " s = getpwnam_r(argv[1], &pwd, buf, bufsize, &result);\n" " if (result == NULL) {\n" " if (s == 0)\n" " printf(\"Not found\\en\");\n" " else {\n" " errno = s;\n" " perror(\"getpwnam_r\");\n" " }\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: build/C/man3/getpwnam.3:325 #, no-wrap msgid "" " printf(\"Name: %s; UID: %ld\\en\", pwd.pw_gecos, (long) pwd.pw_uid);\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" " printf(\"Name: %s; UID: %ld\\en\", pwd.pw_gecos, (long) pwd.pw_uid);\n" " exit(EXIT_SUCCESS);\n" "}\n" #. type: Plain text #: build/C/man3/getpwnam.3:336 msgid "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(3), B(3), B(5)" msgstr "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(3), B(3), B(5)" #. type: TH #: build/C/man3/getspnam.3:8 #, no-wrap msgid "GETSPNAM" msgstr "GETSPNAM" #. type: Plain text #: build/C/man3/getspnam.3:13 msgid "" "getspnam, getspnam_r, getspent, getspent_r, setspent, endspent, fgetspent, " "fgetspent_r, sgetspent, sgetspent_r, putspent, lckpwdf, ulckpwdf - get " "shadow password file entry" msgstr "" "getspnam, getspnam_r, getspent, getspent_r, setspent, endspent,fgetspent, " "fgetspent_r, sgetspent, sgetspent_r, putspent, lckpwdf, ulckpwdf - shadow パ" "スワードファイルのエントリーを取得する" #. type: Plain text #: build/C/man3/getspnam.3:16 #, no-wrap msgid "/* General shadow password file API */\n" msgstr "/* 一般的な shadow パスワードファイル API */\n" #. type: Plain text #: build/C/man3/getspnam.3:18 build/C/man3/getspnam.3:40 #, no-wrap msgid "B<#include Eshadow.hE>\n" msgstr "B<#include Eshadow.hE>\n" #. type: Plain text #: build/C/man3/getspnam.3:20 #, no-wrap msgid "BIB<);>\n" msgstr "BIB<);>\n" #. type: Plain text #: build/C/man3/getspnam.3:22 #, no-wrap msgid "B\n" msgstr "B\n" #. type: Plain text #: build/C/man3/getspnam.3:24 #, no-wrap msgid "B\n" msgstr "B\n" #. type: Plain text #: build/C/man3/getspnam.3:26 #, no-wrap msgid "B\n" msgstr "B\n" #. type: Plain text #: build/C/man3/getspnam.3:28 #, no-wrap msgid "BIB<);>\n" msgstr "BIB<);>\n" #. type: Plain text #: build/C/man3/getspnam.3:30 #, no-wrap msgid "BIB<);>\n" msgstr "BIB<);>\n" #. type: Plain text #: build/C/man3/getspnam.3:32 #, no-wrap msgid "BI

B<, FILE *>IB<);>\n" msgstr "BI

B<, FILE *>IB<);>\n" #. type: Plain text #: build/C/man3/getspnam.3:34 #, no-wrap msgid "B\n" msgstr "B\n" #. type: Plain text #: build/C/man3/getspnam.3:36 #, no-wrap msgid "B\n" msgstr "B\n" #. type: Plain text #: build/C/man3/getspnam.3:38 #, no-wrap msgid "/* GNU extension */\n" msgstr "/* GNU 版における拡張 */\n" #. type: Plain text #: build/C/man3/getspnam.3:42 #, no-wrap msgid "BIB<,>\n" msgstr "BIB<,>\n" #. type: Plain text #: build/C/man3/getspnam.3:44 build/C/man3/getspnam.3:48 #: build/C/man3/getspnam.3:52 build/C/man3/getspnam.3:56 #, no-wrap msgid "B< char *>IB<, size_t >IB<, struct spwd **>IB<);>\n" msgstr "B< char *>IB<, size_t >IB<, struct spwd **>IB<);>\n" #. type: Plain text #: build/C/man3/getspnam.3:46 #, no-wrap msgid "BIB<, struct spwd *>IB<,>\n" msgstr "BIB<, struct spwd *>IB<,>\n" #. type: Plain text #: build/C/man3/getspnam.3:50 #, no-wrap msgid "BIB<, struct spwd *>IB<,>\n" msgstr "BIB<, struct spwd *>IB<,>\n" #. type: Plain text #: build/C/man3/getspnam.3:54 #, no-wrap msgid "BIB<, struct spwd *>IB<,>\n" msgstr "BIB<, struct spwd *>IB<,>\n" #. type: Plain text #: build/C/man3/getspnam.3:68 msgid "B(), B(), B(), B():" msgstr "B(), B(), B(), B():" #. type: Plain text #: build/C/man3/getspnam.3:70 msgid "_BSD_SOURCE || _SVID_SOURCE" msgstr "_BSD_SOURCE || _SVID_SOURCE" #. type: Plain text #: build/C/man3/getspnam.3:84 msgid "" "Long ago it was considered safe to have encrypted passwords openly visible " "in the password file. When computers got faster and people got more " "security-conscious, this was no longer acceptable. Julianne Frances Haugh " "implemented the shadow password suite that keeps the encrypted passwords in " "the shadow password database (e.g., the local shadow password file I, NIS, and LDAP), readable only by root." msgstr "" "昔は暗号化されたパスワードをパスワードファイルに 見えるように公開しておいても" "安全だと考えられていた。 Julianne Frances Haugh は shadow パスワードスイート" "を実装した。 これは暗号化されたパスワードを、root のみが読むことができる " "shadow パスワードデータベース (例えば、 ローカルの shadow パスワードファイル " "I, NIS, LDAP) に保持する。" #. FIXME . I've commented out the following for the #. moment. The relationship between PAM and nsswitch.conf needs #. to be clearly documented in one place, which is pointed to by #. the pages for the user, group, and shadow password functions. #. (Jul 2005, mtk) #. This shadow password setup has been superseded by PAM #. (pluggable authentication modules), and the file #. .I /etc/nsswitch.conf #. now describes the sources to be used. #. type: Plain text #: build/C/man3/getspnam.3:101 msgid "" "The functions described below resemble those for the traditional password " "database (e.g., see B(3) and B(3))." msgstr "" "以下で説明する関数は、伝統的なパスワードデータベースに対する 関数に似ている " "(例えば B(3) や B(3) を参照)。" #. type: Plain text #: build/C/man3/getspnam.3:108 msgid "" "The B() function returns a pointer to a structure containing the " "broken-out fields of the record in the shadow password database that matches " "the username I." msgstr "" "B() 関数は、ユーザー名 I にマッチする shadow パスワードデー" "タベースのエントリーを 要素毎に分解し、各要素を格納した構造体へのポインターを" "返す。" #. some systems require a call of setspent() before the first getspent() #. glibc does not #. type: Plain text #: build/C/man3/getspnam.3:120 msgid "" "The B() function returns a pointer to the next entry in the " "shadow password database. The position in the input stream is initialized " "by B(). When done reading, the program may call B() so " "that resources can be deallocated." msgstr "" "B() 関数は shadow パスワードデータベースにおける次のエントリーへの" "ポインターを返す。 入力ストリームにおける位置は、 B() で初期化され" "る。 読み込みが終わった後に、 B() を呼び出すと、リソースを解放でき" "る。" #. type: Plain text #: build/C/man3/getspnam.3:127 msgid "" "The B() function is similar to B() but uses the " "supplied stream instead of the one implicitly opened by B()." msgstr "" "B() 関数は B() に似ているが、 B() で暗黙の" "うちにオープンされるストリームではなく、与えられたストリームを使う。" #. type: Plain text #: build/C/man3/getspnam.3:134 msgid "" "The B() function parses the supplied string I into a struct " "I." msgstr "" "B() 関数は与えられた文字列 I を解析し struct I に格納す" "る。" #. type: Plain text #: build/C/man3/getspnam.3:144 msgid "" "The B() function writes the contents of the supplied struct " "I I<*p> as a text line in the shadow password file format to " "I. String entries with value NULL and numerical entries with value " "-1 are written as an empty string." msgstr "" "B() 関数は与えられた struct I I<*p> の内容を shadow パスワー" "ドファイル形式のテキスト行で I に書き出す。 空文字列として、 値が " "NULL の文字列エントリーと値が -1 の数値エントリーが 書き出される。" #. type: Plain text #: build/C/man3/getspnam.3:159 msgid "" "The B() function is intended to protect against multiple " "simultaneous accesses of the shadow password database. It tries to acquire " "a lock, and returns 0 on success, or -1 on failure (lock not obtained within " "15 seconds). The B() function releases the lock again. Note " "that there is no protection against direct access of the shadow password " "file. Only programs that use B() will notice the lock." msgstr "" "B() 関数は、 shadow パスワードデータベースを 多重同時アクセスから守" "るためのものである。 この関数はロックの獲得を試み、 成功した場合は 0 を返" "す。 失敗した場合 (15 秒以内にロックが取得できなかった場合) は -1 を返す。 " "B() 関数はロックを再び解放する。 shadow パスワードファイルへの直接" "アクセスから 保護する手段がない点に注意すること。 B() を使うプログ" "ラムだけがロックを通知できる。" #. Also in libc5 #. SUN doesn't have sgetspent() #. type: Plain text #: build/C/man3/getspnam.3:164 msgid "" "These were the functions that formed the original shadow API. They are " "widely available." msgstr "" "これらの関数はオリジナルの shadow API を構成していた関数であり、 いろいろなシ" "ステムで広く利用可能である。" #. type: SS #: build/C/man3/getspnam.3:164 #, no-wrap msgid "Reentrant versions" msgstr "リエントラント版" #. type: Plain text #: build/C/man3/getspnam.3:181 msgid "" "Analogous to the reentrant functions for the password database, glibc also " "has reentrant functions for the shadow password database. The " "B() function is like B() but stores the retrieved " "shadow password structure in the space pointed to by I. This shadow " "password structure contains pointers to strings, and these strings are " "stored in the buffer I of size I. A pointer to the result (in " "case of success) or NULL (in case no entry was found or an error occurred) " "is stored in I<*spbufp>." msgstr "" "パスワードデータベースに対するリエントラント版と同じように、 glibc には " "shadow パスワードファイルに対してリエントラント版がある。 B() 関" "数は B() と似ているが、取得した shadow パスワード構造体を " "I が指す領域に格納する。 shadow パスワード構造体は文字列群へのポイン" "ターを含み、 これらの文字列群はサイズ I のバッファー I に格納さ" "れる。 I<*spbufp> には (成功した場合は) 結果へのポインターが格納され、 (エン" "トリーが見つからなかった場合またはエラーが起こった場合は) NULL が格納され" "る。" #. type: Plain text #: build/C/man3/getspnam.3:188 msgid "" "The functions B(), B(), and B() are " "similarly analogous to their nonreentrant counterparts." msgstr "" "関数 B(), B(), B() はそれぞれリエント" "ラントでないバージョンと同様の機能を持つ。" #. SUN doesn't have sgetspent_r() #. type: Plain text #: build/C/man3/getspnam.3:192 msgid "" "Some non-glibc systems also have functions with these names, often with " "different prototypes." msgstr "" "glibc でないシステムにもこれらと同じ名前の関数があるが、 プロトタイプが異なる" "ことも多い。" #. type: SS #: build/C/man3/getspnam.3:192 #, no-wrap msgid "Structure" msgstr "構造体" #. type: Plain text #: build/C/man3/getspnam.3:194 msgid "" "The shadow password structure is defined in Ishadow.hE> as follows:" msgstr "" "shadow パスワード構造体は Ishadow.hE> で以下のように定義されている:" #. type: Plain text #: build/C/man3/getspnam.3:214 #, no-wrap msgid "" "struct spwd {\n" " char *sp_namp; /* Login name */\n" " char *sp_pwdp; /* Encrypted password */\n" " long sp_lstchg; /* Date of last change\n" " (measured in days since\n" " 1970-01-01 00:00:00 +0000 (UTC)) */\n" " long sp_min; /* Min # of days between changes */\n" " long sp_max; /* Max # of days between changes */\n" " long sp_warn; /* # of days before password expires\n" " to warn user to change it */\n" " long sp_inact; /* # of days after password expires\n" " until account is disabled */\n" " long sp_expire; /* Date when account expires\n" " (measured in days since\n" " 1970-01-01 00:00:00 +0000 (UTC)) */\n" " unsigned long sp_flag; /* Reserved */\n" "};\n" msgstr "" "struct spwd {\n" " char *sp_namp; /* ログイン名 */\n" " char *sp_pwdp; /* 暗号化されたパスワード */\n" " long sp_lstchg; /* 最終更新日\n" " (1970-01-01 00:00:00 +0000 (UTC)\n" " からの日数) */\n" " long sp_min; /* 変更が出来るようになるまでの最短日数 */\n" " long sp_max; /* 変更をしなくてもよい最長日数 */\n" " long sp_warn; /* パスワードが期限切れになる前に\n" " ユーザーに変更の警告を出す日数 */\n" " long sp_inact; /* パスワードが期限切れになってから\n" " アカウントが無効になるまでの日数 */\n" " long sp_expire; /* アカウントが無効になる日付\n" " (1970-01-01 00:00:00 +0000 (UTC)\n" " からの日数) */\n" " unsigned long sp_flag; /* 予約フィールド */\n" "};\n" #. type: Plain text #: build/C/man3/getspnam.3:223 msgid "" "The functions that return a pointer return NULL if no more entries are " "available or if an error occurs during processing. The functions which have " "I as the return value return 0 for success and -1 for failure, with " "I set to indicate the cause of the error." msgstr "" "ポインターを返す関数は、これ以上エントリーがない場合や 処理中にエラーが発生し" "た場合 NULL を返す。 I を返り値として持つ関数は、 成功した場合 0 を返" "し、失敗した場合、 -1 を返し、 I にエラーの原因を示す値を設定する。" #. type: Plain text #: build/C/man3/getspnam.3:226 msgid "" "For the nonreentrant functions, the return value may point to static area, " "and may be overwritten by subsequent calls to these functions." msgstr "" "リエントラント版でない関数では、返り値が静的な領域を指しており、 引き続いてこ" "れらの関数を呼び出した場合に上書きされる可能性がある。" #. type: Plain text #: build/C/man3/getspnam.3:229 msgid "" "The reentrant functions return zero on success. In case of error, an error " "number is returned." msgstr "" "リエントラント版の関数は、成功した場合に 0 を返す。 エラーの場合は、エラー番" "号が返される。" #. type: TP #: build/C/man3/getspnam.3:230 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/getspnam.3:233 msgid "The caller does not have permission to access the shadow password file." msgstr "" "呼び出し元が shadow パスワードファイルにアクセスする許可を持っていない。" #. type: Plain text #: build/C/man3/getspnam.3:236 msgid "Supplied buffer is too small." msgstr "与えられたバッファーが小さすぎる。" #. type: TP #: build/C/man3/getspnam.3:237 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man3/getspnam.3:240 msgid "local shadow password database file" msgstr "ローカルの shadow パスワードデータベースファイル" #. type: TP #: build/C/man3/getspnam.3:240 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man3/getspnam.3:243 msgid "lock file" msgstr "ロックファイル" #. type: Plain text #: build/C/man3/getspnam.3:249 msgid "" "The include file Ipaths.hE> defines the constant B<_PATH_SHADOW> " "to the pathname of the shadow password file." msgstr "" "インクルードファイル Ipaths.hE> は定数 B<_PATH_SHADOW> を定義してい" "る。 これは shadow パスワードファイルのパス名である。" #. type: Plain text #: build/C/man3/getspnam.3:253 msgid "" "The shadow password database and its associated API are not specified in " "POSIX.1-2001. However, many other systems provide a similar API." msgstr "" "shadow パスワードデータベースと関連 API は POSIX.1-2001 には記載されていな" "い。しかしながら、多くの他のシステムでも 同様の API が提供されている。" #. type: Plain text #: build/C/man3/getspnam.3:258 msgid "B(3), B(3), B(3), B(5)" msgstr "B(3), B(3), B(3), B(5)" #. type: TH #: build/C/man5/group.5:26 #, no-wrap msgid "GROUP" msgstr "GROUP" #. type: TH #: build/C/man5/group.5:26 #, no-wrap msgid "2010-10-21" msgstr "2010-10-21" #. type: Plain text #: build/C/man5/group.5:29 msgid "group - user group file" msgstr "group - ユーザーグループのファイル" #. type: Plain text #: build/C/man5/group.5:34 msgid "" "The I file is a text file that defines the groups on the " "system. There is one entry per line, with the following format:" msgstr "" "I ファイルは、そのシステムのグループを定義するテキスト\n" "ファイルである。 1 行に 1 エントリーで、各行の形式は以下のとおりである。" #. type: Plain text #: build/C/man5/group.5:37 msgid "group_name:password:GID:user_list" msgstr "group_name:password:GID:user_list" #. type: Plain text #: build/C/man5/group.5:40 msgid "The fields are as follows:" msgstr "各フィールドは以下の通りである:" #. type: TP #: build/C/man5/group.5:40 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/group.5:43 msgid "the name of the group." msgstr "グループの名前。" #. type: TP #: build/C/man5/group.5:43 build/C/man5/passwd.5:91 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/group.5:47 msgid "" "the (encrypted) group password. If this field is empty, no password is " "needed." msgstr "" "(暗号化された) パスワード。このフィールドが空ならパスワードは必要ない。" #. type: TP #: build/C/man5/group.5:47 build/C/man5/passwd.5:103 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/group.5:50 msgid "the numeric group ID." msgstr "グループ ID 番号。" #. type: TP #: build/C/man5/group.5:50 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/group.5:53 msgid "" "a list of the usernames that are members of this group, separated by commas." msgstr "" "このグループのメンバーのユーザー名のリスト。 ユーザー名はコンマで区切られる。" #. type: Plain text #: build/C/man5/group.5:55 msgid "/etc/group" msgstr "/etc/group" #. type: Plain text #: build/C/man5/group.5:61 msgid "" "As the 4.2BSD B(3) man page says: No-one seems to keep I up-to-date." msgstr "" "4.2BSD の B(3) には次のように書かれている: 誰も I を" "最新の状態に保ってはいないようである。" #. type: Plain text #: build/C/man5/group.5:67 msgid "B(1), B(1), B(3), B(3), B(5)" msgstr "" "B(1), B(1), B(3), B(3), B(5)" #. type: TH #: build/C/man3/initgroups.3:32 #, no-wrap msgid "INITGROUPS" msgstr "INITGROUPS" #. type: TH #: build/C/man3/initgroups.3:32 #, no-wrap msgid "2007-07-26" msgstr "2007-07-26" #. type: Plain text #: build/C/man3/initgroups.3:35 msgid "initgroups - initialize the supplementary group access list" msgstr "initgroups - 追加のグループアクセスリストの初期化" #. type: Plain text #: build/C/man3/initgroups.3:41 #, no-wrap msgid "BIB<, gid_t >IB<);>\n" msgstr "BIB<, gid_t >IB<);>\n" #. type: Plain text #: build/C/man3/initgroups.3:50 msgid "B(): _BSD_SOURCE" msgstr "B(): _BSD_SOURCE" #. type: Plain text #: build/C/man3/initgroups.3:64 msgid "" "The B() function initializes the group access list by reading " "the group database I and using all groups of which I is a " "member. The additional group I is also added to the list." msgstr "" "B() 関数はグループデータベース I を読み 込んで、" "I が所属している全てのグループを使って、グループアク セスリストを初期化" "する。さらに、I に示されるグループもグルー プアクセスリストに追加され" "る。" #. type: Plain text #: build/C/man3/initgroups.3:68 msgid "The I argument must be non-NULL." msgstr "I 引数は NULL であってはならない。" #. type: Plain text #: build/C/man3/initgroups.3:75 msgid "" "The B() function returns 0 on success. On error, -1 is " "returned, and I is set appropriately." msgstr "" "B() 関数は、成功すると 0 を返す。 エラーの場合は -1 を返し、 " "I を適切に設定する。" #. type: Plain text #: build/C/man3/initgroups.3:79 msgid "Insufficient memory to allocate group information structure." msgstr "グループ情報構造体を配置するためのメモリーが不足している。" #. type: TP #: build/C/man3/initgroups.3:79 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/initgroups.3:84 msgid "" "The calling process has insufficient privilege. See the underlying system " "call B(2)." msgstr "" "呼出しプロセスが十分な特権を持っていない。 この関数の裏で実行されるシステム" "コール B(2) も参照のこと。" #. type: Plain text #: build/C/man3/initgroups.3:87 #, no-wrap msgid "I\t\tgroup database file\n" msgstr "I\t\tグループデータベースファイル\n" #. type: Plain text #: build/C/man3/initgroups.3:90 msgid "SVr4, 4.3BSD." msgstr "SVr4, 4.3BSD." #. type: Plain text #: build/C/man3/initgroups.3:94 msgid "B(2), B(2), B(7)" msgstr "B(2), B(2), B(7)" #. type: TH #: build/C/man5/passwd.5:30 #, no-wrap msgid "PASSWD" msgstr "PASSWD" #. type: TH #: build/C/man5/passwd.5:30 #, fuzzy, no-wrap #| msgid "2014-02-11" msgid "2015-02-01" msgstr "2014-02-11" #. type: Plain text #: build/C/man5/passwd.5:33 msgid "passwd - password file" msgstr "passwd - パスワードファイル" #. type: Plain text #: build/C/man5/passwd.5:41 msgid "" "The I file is a text file that describes user login accounts " "for the system. It should have read permission allowed for all users (many " "utilities, like B(1) use it to map user IDs to usernames), but write " "access only for the superuser." msgstr "" "I ファイルは、そのシステムのユーザーのログインアカウントリス\n" "トを記述したテキストファイルである。パスワードファイルの読み出し許可は\n" "全ユーザーに対して与えるが(I(1) 等の多くのユーティリティではユーザー\n" "ID をユーザー名に 対応させるのに B ファイルを使用する)、書き込\n" "み許可はスーパーユーザーにのみ与えるようにすべきである。" #. type: Plain text #: build/C/man5/passwd.5:53 msgid "" "In the good old days there was no great problem with this general read " "permission. Everybody could read the encrypted passwords, but the hardware " "was too slow to crack a well-chosen password, and moreover the basic " "assumption used to be that of a friendly user-community. These days many " "people run some version of the shadow password suite, where I " "has an \\(aqx\\(aq character in the password field, and the encrypted " "passwords are in I, which is readable by the superuser only." msgstr "" "古き良き時代には、この全ユーザーに対する読み取り許可は 特別な問題を起こ\n" "さなかった。誰でも暗号化されたパスワードを 読むことが出来たが、上手に選\n" "ばれたパスワードを破るのには 当時のハードウェアの速度はあまりに遅かった\n" "し、それに加えて 友好的なユーザー社会であることを基本的な前提としていた。\n" "最近では多くの人が、何らかのバージョンの shadow password suite\n" "(シャドウパスワード機能を実現するためのプログラム群) を動かしている。\n" "その場合 I ファイルのパスワード欄には\n" "\\(aqx\\(aq 文字が設定され、暗号化されたパスワードは\n" "I ファイルに保持される。 I ファイルはスーパー\n" "ユーザーだけが読み出すことができる。" #. type: Plain text #: build/C/man5/passwd.5:62 msgid "" "If the encrypted password, whether in I or in I, " "is an empty string, login is allowed without even asking for a password. " "Note that this functionality may be intentionally disabled in applications, " "or configurable (for example using the \"nullok\" or \"nonull\" arguments to " "pam_unix.so)." msgstr "" "I と I のどちらの場合でも暗号化パスワードが\n" "空文字列の場合、パスワードの問い合わせなしでのログインが許可される。\n" "この機能は、アプリケーションで意図的に無効されたり、\n" "設定可能 (例えば pam_unix.so の \"nullok\" や \"nonull\" 引き数など)\n" "になっていたりする場合がある点に注意すること。" #. type: Plain text #: build/C/man5/passwd.5:67 msgid "" "If the encrypted password in I is \"I<*NP*>\" (without the " "quotes), the shadow record should be obtained from an NIS+ server." msgstr "" "I の暗号化パスワードが \"I<*NP*>\" (クォートはなし) の場合、\n" "shadow レコードを NIS+ サーバから取得することを意味する。" #. type: Plain text #: build/C/man5/passwd.5:73 msgid "" "Regardless of whether shadow passwords are used, many system administrators " "use an asterisk (*) in the encrypted password field to make sure that this " "user can not authenticate him- or herself using a password. (But see NOTES " "below.)" msgstr "" "shadow password が使われているかどうかにはよらず、多くのシステム管理者は、\n" "暗号化パスワード欄にアスタリスク (*) を設定することで、そのユーザーが\n" "パスワードでの認証が受けられないようにしている (下記の「注意」の項を参照)。" #. type: Plain text #: build/C/man5/passwd.5:78 msgid "" "If you create a new login, first put an asterisk (*) in the password field, " "then use B(1) to set it." msgstr "" "新しいユーザーを登録する場合には、パスワード欄にアスタリスク (*) を設定してお" "き、\n" "B(1) コマンドにより設定を行うようにすること。" #. type: Plain text #: build/C/man5/passwd.5:81 msgid "" "Each line of the file describes a single user, and contains seven colon-" "separated fields:" msgstr "" "ファイルの 1 行は 1 ユーザーの情報を表し、\n" "コロン区切りの 7 つの項目を含む。" #. type: Plain text #: build/C/man5/passwd.5:84 msgid "name:password:UID:GID:GECOS:directory:shell" msgstr "name:password:UID:GID:GECOS:directory:shell" #. type: Plain text #: build/C/man5/passwd.5:87 msgid "The field are as follows:" msgstr "各フィールドは以下の通りである:" #. type: TP #: build/C/man5/passwd.5:87 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/passwd.5:91 msgid "This is the user's login name. It should not contain capital letters." msgstr "ユーザーのログイン名。大文字を含まないすべきである。" #. type: Plain text #: build/C/man5/passwd.5:98 msgid "" "This is either the encrypted user password, an asterisk (*), or the letter " "\\(aqx\\(aq. (See B(8) for an explanation of \\(aqx\\(aq.)" msgstr "" "暗号化されたユーザーのパスワード、アスタリスク (*)、文字 \\(aqx\\(aq の\n" "いずれかである (\\(aqx\\(aq の説明については B(8) を参照)。" #. type: TP #: build/C/man5/passwd.5:98 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/passwd.5:103 msgid "The privileged I login account (superuser) has the user ID 0." msgstr "" "特権を持つ I ログインアカウント (スーパーユーザー) は\n" "ユーザー ID 0 である。" #. type: Plain text #: build/C/man5/passwd.5:108 msgid "" "This is the numeric primary group ID for this user. (Additional groups for " "the user are defined in the system group file; see B(5))." msgstr "" "このユーザーのプライマリグループ ID の番号。\n" "(このユーザーの追加のグループはシステムのグループ定義ファイル\n" "で定義される。 B(5) を参照)。" #. type: TP #: build/C/man5/passwd.5:108 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/passwd.5:116 msgid "" "This field (sometimes called the \"comment field\") is optional and used " "only for informational purposes. Usually, it contains the full username. " "Some programs (for example, B(1)) display information from this " "field." msgstr "" "本欄 (「コメント欄」と呼ばれることもある) は省略可能で、情報提供の\n" "目的のみに使われる。ユーザーのフルネームを設定することが多い。\n" "(B(1) などの) いくつかのプログラムでは、このフィールドの\n" "情報が表示される。" #. type: Plain text #: build/C/man5/passwd.5:125 msgid "" "GECOS stands for \"General Electric Comprehensive Operating System\", which " "was renamed to GCOS when GE's large systems division was sold to Honeywell. " "Dennis Ritchie has reported: \"Sometimes we sent printer output or batch " "jobs to the GCOS machine. The gcos field in the password file was a place " "to stash the information for the $IDENTcard. Not elegant.\"" msgstr "" "GECOS は General Electric Comprehensive Operating System を意味しており、\n" "GE 社の大規模システム部門が Honeywell 社に売却された際に GCOS へと変更\n" "された。Dennis Ritchie 氏は次のように言っている:「時々プリンタ出力や、\n" "バッチジョブを GCOS マシンに送ったりするが、パスワードファイルの \n" "gcos 欄は $IDENT カード用の情報を 隠しておくための場所なんだ。\n" "まるっきりエレガントじゃない。」" #. type: TP #: build/C/man5/passwd.5:125 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/passwd.5:132 msgid "" "This is the user's home directory: the initial directory where the user is " "placed after logging in. The value in this field is used to set the B " "environment variable." msgstr "" "ユーザーのホームディレクトリ、つまりログイン直後のそのユーザーの\n" "初期ディレクトリである。\n" "このフィールドの値は B 環境変数に設定される。" #. type: TP #: build/C/man5/passwd.5:132 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/passwd.5:142 msgid "" "This is the program to run at login (if empty, use I). If set to a " "nonexistent executable, the user will be unable to login through " "B(1). The value in this field is used to set the B " "environment variable." msgstr "" "ログイン時に動くプログラム名 (空欄の場合 I が使われる)。\n" "存在しない実行ファイルが設定された場合、そのユーザーは B(1) による\n" "システムへのログインができなくなる。\n" "このフィールドの値は B 環境変数の値に設定される。" #. type: Plain text #: build/C/man5/passwd.5:148 msgid "" "If you want to create user groups, there must be an entry in I, " "or no group will exist." msgstr "" "ユーザーグループを作りたい場合には、そのグループが I の中に\n" "定義されていなければならない。そうしないとグループを作ったことにはならない。" #. type: Plain text #: build/C/man5/passwd.5:162 msgid "" "If the encrypted password is set to an asterisk (*), the user will be unable " "to login using B(1), but may still login using B(1), run " "existing processes and initiate new ones through B(1), B(8), " "B(1), or mail filters, etc. Trying to lock an account by simply " "changing the shell field yields the same result and additionally allows the " "use of B(1)." msgstr "" "暗号化パスワードとしてアスタリスク (*) を設定すると、 B(1) を\n" "使ってのログインができなくなるが、 B(1) ではまだログインができる" "し、\n" "B(1), B(8), B(1) やメールのフィルタ等を使い、現存するプロセス" "を\n" "実行させたり、新たなプロセスを起動したりすることができる。\n" "使用する shell の欄を、単に変更することでアカウントを 使えないようにする\n" "のも同様の結果となる。その場合にはさらに B(1) も有効なまま残ってしまう。" #. type: Plain text #: build/C/man5/passwd.5:173 #, fuzzy #| msgid "" #| "B(1), B(1), B(1), B(3), B(3), " #| "B(3), B(5), B(5)" msgid "" "B(1), B(1), B(1), B(1), B(1), B(3), " "B(3), B(3), B(5), B(5)" msgstr "" "B(1), B(1), B(1), B(3), B(3), " "B(3), B(5), B(5)" #. type: TH #: build/C/man3/putgrent.3:7 #, no-wrap msgid "PUTGRENT" msgstr "PUTGRENT" #. type: Plain text #: build/C/man3/putgrent.3:10 msgid "putgrent - write a group database entry to a file" msgstr "putgrent - グループデータベースエントリーをファイルに書き込む" #. type: Plain text #: build/C/man3/putgrent.3:12 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */" msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */" #. type: Plain text #: build/C/man3/putgrent.3:16 msgid "BIB<, FILE *>IB<);>" msgstr "BIB<, FILE *>IB<);>" #. type: Plain text #: build/C/man3/putgrent.3:26 msgid "" "The B() function is the counterpart for B(3). The " "function writes the content of the provided I into the " "I. The list of group members must be NULL-terminated or NULL-" "initialized." msgstr "" "B() 関数は B(3) の逆である。 この関数は与えられた " "I を I に書き込む。 グループメンバのリストは、 NULL で" "終端されるか、 NULL で初期化されなければならない。" #. type: Plain text #: build/C/man3/putgrent.3:30 msgid "The I is defined as follows:" msgstr "I は以下のように定義される:" #. type: Plain text #: build/C/man3/putgrent.3:39 #, no-wrap msgid "" "struct group {\n" " char *gr_name; /* group name */\n" " char *gr_passwd; /* group password */\n" " gid_t gr_gid; /* group ID */\n" " char **gr_mem; /* group members */\n" "};\n" msgstr "" "struct group {\n" " char *gr_name; /* グループ名 */\n" " char *gr_passwd; /* グループパスワード */\n" " gid_t gr_gid; /* グループ ID */\n" " char **gr_mem; /* グループメンバ */\n" "};\n" #. type: Plain text #: build/C/man3/putgrent.3:43 msgid "The function returns zero on success, and a nonzero value on error." msgstr "この関数は、成功した場合は 0 を返し、エラーの場合は 0 以外の値を返す。" #. type: Plain text #: build/C/man3/putgrent.3:45 msgid "This function is a GNU extension." msgstr "この関数は GNU による拡張である。" #. type: Plain text #: build/C/man3/putgrent.3:49 msgid "B(3), B(3), B(5)" msgstr "B(3), B(3), B(5)" #. type: TH #: build/C/man3/putpwent.3:30 #, no-wrap msgid "PUTPWENT" msgstr "PUTPWENT" #. type: Plain text #: build/C/man3/putpwent.3:33 msgid "putpwent - write a password file entry" msgstr "putpwent - パスワードファイルエントリーの書き込み" #. type: Plain text #: build/C/man3/putpwent.3:40 #, no-wrap msgid "BI

B<, FILE *>IB<);>\n" msgstr "BI

B<, FILE *>IB<);>\n" #. type: Plain text #: build/C/man3/putpwent.3:49 msgid "B(): _SVID_SOURCE" msgstr "B(): _SVID_SOURCE" #. type: Plain text #: build/C/man3/putpwent.3:54 msgid "" "The B() function writes a password entry from the structure I

" "in the file associated with I." msgstr "" "B() 関数は、構造体 I

からのパスワードエントリーを I に" "結びつけられたファイルに書き込む。" #. type: Plain text #: build/C/man3/putpwent.3:68 #, no-wrap msgid "" "struct passwd {\n" " char *pw_name; /* username */\n" " char *pw_passwd; /* user password */\n" " uid_t pw_uid; /* user ID */\n" " gid_t pw_gid; /* group ID */\n" " char *pw_gecos; /* real name */\n" " char *pw_dir; /* home directory */\n" " char *pw_shell; /* shell program */\n" "};\n" msgstr "" "struct passwd {\n" " char *pw_name; /* ユーザー名 */\n" " char *pw_passwd; /* ユーザーのパスワード */\n" " uid_t pw_uid; /* ユーザー ID */\n" " gid_t pw_gid; /* グループ ID */\n" " char *pw_gecos; /* 本名 */\n" " char *pw_dir; /* ホームディレクトリ */\n" " char *pw_shell; /* シェルプログラム */\n" "};\n" #. type: Plain text #: build/C/man3/putpwent.3:78 msgid "" "The B() function returns 0 on success, or -1 if an error occurs. " "In the event of an error, I is set to indicate the cause." msgstr "" "B() 関数は、成功した場合 0 を返す。 エラーが発生した場合 -1 を返" "し、 Iに原因を示す値が設定される。" #. type: Plain text #: build/C/man3/putpwent.3:82 msgid "Invalid (NULL) argument given." msgstr "無効な(NULL)引数が渡された。" #. type: Plain text #: build/C/man3/putpwent.3:92 msgid "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(3)" msgstr "" "B(3), B(3), B(3), B(3), " "B(3), B(3), B(3)" #. type: TH #: build/C/man3/setaliasent.3:9 #, no-wrap msgid "SETALIASENT" msgstr "SETALIASENT" #. type: TH #: build/C/man3/setaliasent.3:9 #, no-wrap msgid "2003-09-09" msgstr "2003-09-09" #. type: Plain text #: build/C/man3/setaliasent.3:13 msgid "" "setaliasent, endaliasent, getaliasent, getaliasent_r, getaliasbyname, " "getaliasbyname_r - read an alias entry" msgstr "" "setaliasent, endaliasent, getaliasent, getaliasent_r, getaliasbyname, " "getaliasbyname_r - エイリアスエントリーを読み込む" #. type: Plain text #: build/C/man3/setaliasent.3:15 msgid "B<#include Ealiases.hE>" msgstr "B<#include Ealiases.hE>" #. type: Plain text #: build/C/man3/setaliasent.3:17 msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/setaliasent.3:19 msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/setaliasent.3:21 msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/setaliasent.3:23 msgid "BIB<,>" msgstr "BIB<,>" #. type: Plain text #: build/C/man3/setaliasent.3:25 build/C/man3/setaliasent.3:31 msgid "" "B< char *>IB<, size_t >IB<, struct aliasent **>IB<);>" msgstr "" "B< char *>IB<, size_t >IB<, struct aliasent **>IB<);>" #. type: Plain text #: build/C/man3/setaliasent.3:27 msgid "BIB<);>" msgstr "BIB<);>" #. type: Plain text #: build/C/man3/setaliasent.3:29 msgid "" "BIB<, struct aliasent *>IB<," ">" msgstr "" "BIB<, struct aliasent *>IB<," ">" #. type: Plain text #: build/C/man3/setaliasent.3:37 msgid "" "One of the databases available with the Name Service Switch (NSS) is the " "aliases database, that contains mail aliases. (To find out which databases " "are supported, try I.) Six functions are provided to access " "the aliases database." msgstr "" "ネームサービススイッチ (Name Service Switch, NSS) で 利用可能なデータベース" "の 1 つとして、 メールエイリアスを保持するエイリアスデータベースがある。 (ど" "のデータベースがサポートされているかを調べるには、 getent --help を実行するこ" "と。) エイリアスデータベースにアクセスするために、 6 つの関数が提供されてい" "る。" #. type: Plain text #: build/C/man3/setaliasent.3:44 msgid "" "The B() function returns a pointer to a structure containing " "the group information from the aliases database. The first time it is " "called it returns the first entry; thereafter, it returns successive entries." msgstr "" "B() 関数はエイリアスデータベースから取り出した グループ情報を含" "む構造体へのポインターを返す。 1 回目に関数が呼ばれたときには、最初のエント" "リーを返す; それ以降はその後のエントリーを返す。" #. type: Plain text #: build/C/man3/setaliasent.3:49 msgid "" "The B() function rewinds the file pointer to the beginning of " "the aliases database." msgstr "" "B() 関数はファイルポインターをエイリアスデータベースの先頭に巻" "き戻す。" #. type: Plain text #: build/C/man3/setaliasent.3:53 msgid "The B() function closes the aliases database." msgstr "B() 関数はエイリアスデータベースをクローズする。" #. type: Plain text #: build/C/man3/setaliasent.3:60 msgid "" "B() is the reentrant version of the previous function. The " "requested structure is stored via the first argument but the programmer " "needs to fill the other arguments also. Not providing enough space causes " "the function to fail." msgstr "" "B() 関数は上記の関数のリエントラント版である。 要求された構造" "体は第 1 引き数に格納されるが、 プログラマは他の引き数も埋めてやる必要があ" "る。 充分な領域が与えられないと、この関数は失敗する。" #. type: Plain text #: build/C/man3/setaliasent.3:66 msgid "" "The function B() takes the name argument and searches the " "aliases database. The entry is returned as a pointer to a I." msgstr "" "関数 B() は name 引き数をとり、エイリアスデータベースを検索" "する。 エントリーは I へのポインターとして返される。" #. type: Plain text #: build/C/man3/setaliasent.3:73 msgid "" "B() is the reentrant version of the previous function. " "The requested structure is stored via the second argument but the programmer " "needs to fill the other arguments also. Not providing enough space causes " "the function to fail." msgstr "" "B() は上記の関数のリエントラント版である。 要求された構造" "体は第 2 引き数に格納されるが、 プログラマは他の引き数も埋めてやる必要があ" "る。 充分な領域が与えられないと、この関数は失敗する。" #. type: Plain text #: build/C/man3/setaliasent.3:78 msgid "The I is defined in Ialiases.hE>:" msgstr "I は Ialiases.hE> で定義されている。" #. type: Plain text #: build/C/man3/setaliasent.3:87 #, no-wrap msgid "" "struct aliasent {\n" " char *alias_name; /* alias name */\n" " size_t alias_members_len;\n" " char **alias_members; /* alias name list */\n" " int alias_local;\n" "};\n" msgstr "" "struct aliasent {\n" " char *alias_name; /* エイリアス名 */\n" " size_t alias_members_len;\n" " char **alias_members; /* エイリアス名のリスト */\n" " int alias_local;\n" "};\n" #. type: Plain text #: build/C/man3/setaliasent.3:95 msgid "" "The functions B() and B() return a " "nonzero value on error." msgstr "" "関数 B() と B() は、エラーの場合に 0 以外" "の値を返す。" #. type: Plain text #: build/C/man3/setaliasent.3:101 msgid "" "The default alias database is the file I. This can be changed " "in the I file." msgstr "" "デフォルトのエイリアスデータベースは、ファイル I である。 これ" "は I ファイルで変更できる。" #. type: Plain text #: build/C/man3/setaliasent.3:104 msgid "" "These routines are glibc-specific. The NeXT system has similar routines:" msgstr "" "このルーチンは glibc 固有のものである。 NeXT システムには同様のルーチンがあ" "る。" #. type: Plain text #: build/C/man3/setaliasent.3:108 #, no-wrap msgid "#include Ealiasdb.hE\n" msgstr "#include Ealiasdb.hE\n" #. type: Plain text #: build/C/man3/setaliasent.3:113 #, no-wrap msgid "" "void alias_setent(void);\n" "void alias_endent(void);\n" "alias_ent *alias_getent(void);\n" "alias_ent *alias_getbyname(char *name);\n" msgstr "" "void alias_setent(void);\n" "void alias_endent(void);\n" "alias_ent *alias_getent(void);\n" "alias_ent *alias_getbyname(char *name);\n" #. type: Plain text #: build/C/man3/setaliasent.3:119 msgid "" "The following example compiles with I. It will " "dump all names in the alias database." msgstr "" "以下の例は I でコンパイルできる。 これはエイリアス" "データベースにある全ての名前をダンプする。" #. type: Plain text #: build/C/man3/setaliasent.3:125 #, no-wrap msgid "" "#include Ealiases.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Eerrno.hE\n" msgstr "" "#include Ealiases.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Eerrno.hE\n" #. type: Plain text #: build/C/man3/setaliasent.3:144 #, no-wrap msgid "" "int\n" "main(void)\n" "{\n" " struct aliasent *al;\n" " setaliasent();\n" " for (;;) {\n" " al = getaliasent();\n" " if (al == NULL)\n" " break;\n" " printf(\"Name: %s\\en\", al-Ealias_name);\n" " }\n" " if (errno) {\n" " perror(\"reading alias\");\n" " exit(EXIT_FAILURE);\n" " }\n" " endaliasent();\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" "int\n" "main(void)\n" "{\n" " struct aliasent *al;\n" " setaliasent();\n" " for (;;) {\n" " al = getaliasent();\n" " if (al == NULL)\n" " break;\n" " printf(\"Name: %s\\en\", al-Ealias_name);\n" " }\n" " if (errno) {\n" " perror(\"reading alias\");\n" " exit(EXIT_FAILURE);\n" " }\n" " endaliasent();\n" " exit(EXIT_SUCCESS);\n" #. /etc/sendmail/aliases #. Yellow Pages #. newaliases, postalias #. type: Plain text #: build/C/man3/setaliasent.3:154 msgid "B(3), B(3), B(3), B(5)" msgstr "B(3), B(3), B(3), B(5)"