# 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: 2013-08-15 19:32+0900\n" "PO-Revision-Date: 2013-08-16 12:54+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/fgetpwent.3:33 #: build/C/man3/getspnam.3:8 build/C/man3/putpwent.3:30 #, no-wrap msgid "2013-04-19" msgstr "2013-04-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:74 #, 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: SH #: build/C/man3/fgetgrent.3:76 build/C/man3/fgetpwent.3:81 #: build/C/man3/getgrent.3:106 build/C/man3/getgrent_r.3:101 #: build/C/man3/getgrnam.3:136 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:42 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:86 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:86 build/C/man3/fgetpwent.3:91 #: build/C/man3/getgrent.3:129 build/C/man3/getgrent_r.3:108 #: build/C/man3/getgrnam.3:174 build/C/man3/getpw.3:78 #: 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:87 build/C/man3/fgetpwent.3:92 #: build/C/man3/getgrent.3:142 build/C/man3/getgrnam.3:196 #: build/C/man3/getpw.3:87 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:92 build/C/man3/getgrent.3:148 #: build/C/man3/getgrnam.3:203 msgid "Insufficient memory to allocate I structure." msgstr "I 構造体を割り当てるためのメモリが不十分。" #. type: SH #: build/C/man3/fgetgrent.3:92 build/C/man3/fgetpwent.3:101 #: build/C/man3/getgrent.3:166 build/C/man3/getgrent_r.3:116 #: build/C/man3/getgrnam.3:223 build/C/man3/getgrouplist.3:98 #: build/C/man3/getpw.3:96 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:44 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:94 build/C/man3/fgetpwent.3:103 #: build/C/man3/putpwent.3:84 msgid "SVr4." msgstr "SVr4." #. type: SH #: build/C/man3/fgetgrent.3:94 build/C/man3/fgetpwent.3:103 #: build/C/man5/ftpusers.5:49 build/C/man3/getgrent.3:168 #: build/C/man3/getgrent_r.3:183 build/C/man3/getgrnam.3:246 #: build/C/man3/getgrouplist.3:189 build/C/man3/getpw.3:105 #: 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:46 #: 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:104 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:104 build/C/man3/fgetpwent.3:114 #: build/C/man5/ftpusers.5:53 build/C/man3/getgrent.3:176 #: build/C/man3/getgrent_r.3:190 build/C/man3/getgrnam.3:253 #: build/C/man3/getgrouplist.3:195 build/C/man3/getpw.3:114 #: 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:171 build/C/man3/putgrent.3:50 #: 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:111 build/C/man3/fgetpwent.3:121 #: build/C/man5/ftpusers.5:60 build/C/man3/getgrent.3:183 #: build/C/man3/getgrent_r.3:197 build/C/man3/getgrnam.3:260 #: build/C/man3/getgrouplist.3:202 build/C/man3/getpw.3:121 #: build/C/man3/getpwent.3:185 build/C/man3/getpwent_r.3:195 #: build/C/man3/getpwnam.3:343 build/C/man3/getspnam.3:265 #: build/C/man5/group.5:74 build/C/man3/initgroups.3:101 #: build/C/man5/passwd.5:178 build/C/man3/putgrent.3:57 #: build/C/man3/putpwent.3:99 build/C/man3/setaliasent.3:161 msgid "" "This page is part of release 3.53 of the Linux I project. A " "description of the project, and information about reporting bugs, can be " "found at \\%http://www.kernel.org/doc/man-pages/." msgstr "" "この man ページは Linux I プロジェクトのリリース 3.53 の一部\n" "である。プロジェクトの説明とバグ報告に関する情報は\n" "http://www.kernel.org/doc/man-pages/ に書かれている。" #. type: TH #: build/C/man3/fgetpwent.3:33 #, no-wrap msgid "FGETPWENT" msgstr "FGETPWENT" #. 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:92 #: 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:151 build/C/man3/getgrnam.3:206 #: build/C/man3/getpw.3:92 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:93 #: 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:96 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 build/C/man3/getpwent.3:33 #, no-wrap msgid "2013-06-21" msgstr "2013-06-21" #. 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:101 build/C/man3/getgrnam.3:95 #, 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/getgrent.3:106 build/C/man3/getgrent_r.3:82 #: build/C/man3/getgrnam.3:100 msgid "" "For more information about the fields of this structure, see B(5)." msgstr "この構造体のフィールドの詳細は B(5) を参照のこと。" #. type: Plain text #: build/C/man3/getgrent.3:113 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:120 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:129 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:130 build/C/man3/getgrnam.3:182 #: 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:133 build/C/man3/getgrnam.3:185 #: 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:133 build/C/man3/getgrnam.3:185 #: 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:136 build/C/man3/getgrnam.3:188 #: 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:136 build/C/man3/getgrnam.3:188 #: 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:139 msgid "The calling process already has too many open files." msgstr "呼び出したプロセスが既にファイルをオープンし過ぎている。" #. type: TP #: build/C/man3/getgrent.3:139 build/C/man3/getgrnam.3:193 #: 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:142 msgid "Too many open files in the system." msgstr "システム上にオープンされたファイルが多過ぎる。" #. type: TP #: build/C/man3/getgrent.3:148 build/C/man3/getgrent_r.3:112 #: build/C/man3/getgrnam.3:203 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:151 build/C/man3/getgrnam.3:206 #: 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:152 build/C/man3/getgrnam.3:207 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man3/getgrent.3:155 build/C/man3/getgrnam.3:210 msgid "local group database file" msgstr "ローカルのグループ・データベースファイル" #. type: SH #: build/C/man3/getgrent.3:155 build/C/man3/getgrnam.3:210 #: build/C/man3/getpwent.3:154 build/C/man3/getpwnam.3:217 #, no-wrap msgid "ATTRIBUTES" msgstr "属性" #. type: SS #: build/C/man3/getgrent.3:156 build/C/man3/getgrnam.3:211 #: 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:160 msgid "The B function is not thread-safe." msgstr "B 関数はスレッドセーフではない。" #. type: Plain text #: build/C/man3/getgrent.3:166 msgid "The B and B functions are thread-safe." msgstr "関数 B と B はスレッドセーフである。" #. type: Plain text #: build/C/man3/getgrent.3:168 build/C/man3/getgrnam.3:225 msgid "SVr4, 4.3BSD, POSIX.1-2001." msgstr "SVr4, 4.3BSD, POSIX.1-2001." #. type: Plain text #: build/C/man3/getgrent.3:176 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/man5/group.5:26 #, no-wrap msgid "2010-10-21" msgstr "2010-10-21" #. 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 the stream I." msgstr "" "関数 B() と B() は B(3) と B" "(3) のリエントラント版である。 前者は、 B(3) によって初期化された" "ストリームから、次のグループファイルのエントリを読み込む。 後者は、ストリー" "ム I から次のグループファイルのエントリを読み込む。" #. type: Plain text #: build/C/man3/getgrent_r.3:77 #, 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/getgrent_r.3:101 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:108 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: TP #: build/C/man3/getgrent_r.3:109 build/C/man3/getpw.3:83 #: build/C/man3/getpwent_r.3:111 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/getgrent_r.3:112 build/C/man3/getpwent_r.3:114 msgid "No more entries." msgstr "次のエントリがない。" #. type: Plain text #: build/C/man3/getgrent_r.3:116 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:121 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 prototype" msgstr "" "これらの関数は GNU 拡張であり、POSIX 版の関数 B(3) の形式に似せ" "てある。 他のシステムでは以下のプロトタイプが使われている。" #. type: Plain text #: build/C/man3/getgrent_r.3:126 #, 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:130 build/C/man3/getpwent_r.3:132 msgid "or, better," msgstr "より良いものでは、以下のようになっている。" #. type: Plain text #: build/C/man3/getgrent_r.3:135 #, 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:137 build/C/man3/getgrnam.3:225 #: 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:142 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:142 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:149 #, 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:156 #, 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:173 #, 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:190 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: TH #: build/C/man3/getgrnam.3:33 build/C/man3/getpwnam.3:37 #, no-wrap msgid "2013-07-22" msgstr "2013-07-22" #. 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:123 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:125 build/C/man3/getpwnam.3:132 msgid "The call" msgstr "呼び出し" #. type: Plain text #: build/C/man3/getgrnam.3:127 #, 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:136 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:151 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:160 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:174 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:175 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:182 msgid "The given I or I was not found." msgstr "指定された I または I が見つからなかった。" #. type: Plain text #: build/C/man3/getgrnam.3:193 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:196 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:217 msgid "The B() and B() functions are not thread-safe." msgstr "関数 B() と B() はスレッドセーフではない。" #. type: Plain text #: build/C/man3/getgrnam.3:223 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:246 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:253 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: TH #: build/C/man3/getgrouplist.3:29 #, no-wrap msgid "2008-07-03" msgstr "2009-07-03" #. 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:98 #: 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" "\texit(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" "\texit(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:195 msgid "" "B(2), B(2), B(3), B(5), B(5)" msgstr "" "B(2), B(2), 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: TP #: build/C/man3/getpw.3:79 build/C/man3/putpwent.3:79 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/getpw.3:83 msgid "I is NULL." msgstr "I が NULL。" #. type: Plain text #: build/C/man3/getpw.3:87 msgid "No user corresponding to I." msgstr "I に対応するユーザがいない。" #. type: Plain text #: build/C/man3/getpw.3:98 msgid "SVr2." msgstr "SVr2" #. type: Plain text #: build/C/man3/getpw.3:105 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:114 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: 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 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() 関数は 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 the stream 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: 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 the " "stream 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: 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 #, no-wrap msgid "2012-05-03" msgstr "2012-05-03" #. 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:171 msgid "" "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: TH #: build/C/man3/putgrent.3:7 build/C/man3/setaliasent.3:9 #, no-wrap msgid "2003-09-09" msgstr "2003-09-09" #. 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:27 msgid "" "The B() function is the counterpart for B(3). The " "function writes the content of the provided I into the file " "pointed to by 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:31 msgid "The I is defined as follows:" msgstr "I は以下のように定義される:" #. type: Plain text #: build/C/man3/putgrent.3:40 #, 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:44 msgid "The function returns zero on success, and a nonzero value on error." msgstr "この関数は、成功した場合は 0 を返し、エラーの場合は 0 以外の値を返す。" #. type: Plain text #: build/C/man3/putgrent.3:46 msgid "This function is a GNU extension." msgstr "この関数は GNU による拡張である。" #. type: Plain text #: build/C/man3/putgrent.3:50 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: 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)"