1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2015-01-23 22:25+0900\n"
10 "PO-Revision-Date: 2015-01-25 06:37+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
19 #: build/C/man3/fgetgrent.3:30
25 #: build/C/man3/fgetgrent.3:30 build/C/man3/getgrnam.3:33
26 #: build/C/man3/getgrouplist.3:29
32 #: build/C/man3/fgetgrent.3:30 build/C/man3/fgetpwent.3:33
33 #: build/C/man3/getgrent_r.3:24 build/C/man3/getgrouplist.3:29
34 #: build/C/man3/getpw.3:32 build/C/man3/getpwent.3:33
35 #: build/C/man3/getpwent_r.3:24 build/C/man3/getpwnam.3:37
36 #: build/C/man3/getspnam.3:8 build/C/man3/initgroups.3:32
37 #: build/C/man3/putgrent.3:7 build/C/man3/putpwent.3:30
38 #: build/C/man3/setaliasent.3:9
44 #: build/C/man3/fgetgrent.3:30 build/C/man3/fgetpwent.3:33
45 #: build/C/man5/ftpusers.5:19 build/C/man3/getgrent.3:30
46 #: build/C/man3/getgrent_r.3:24 build/C/man3/getgrnam.3:33
47 #: build/C/man3/getgrouplist.3:29 build/C/man3/getpw.3:32
48 #: build/C/man3/getpwent.3:33 build/C/man3/getpwent_r.3:24
49 #: build/C/man3/getpwnam.3:37 build/C/man3/getspnam.3:8
50 #: build/C/man5/group.5:26 build/C/man3/initgroups.3:32
51 #: build/C/man5/passwd.5:30 build/C/man3/putgrent.3:7
52 #: build/C/man3/putpwent.3:30 build/C/man3/setaliasent.3:9
54 msgid "Linux Programmer's Manual"
55 msgstr "Linux Programmer's Manual"
58 #: build/C/man3/fgetgrent.3:31 build/C/man3/fgetpwent.3:34
59 #: build/C/man5/ftpusers.5:20 build/C/man3/getgrent.3:31
60 #: build/C/man3/getgrent_r.3:25 build/C/man3/getgrnam.3:34
61 #: build/C/man3/getgrouplist.3:30 build/C/man3/getpw.3:33
62 #: build/C/man3/getpwent.3:34 build/C/man3/getpwent_r.3:25
63 #: build/C/man3/getpwnam.3:38 build/C/man3/getspnam.3:9
64 #: build/C/man5/group.5:27 build/C/man3/initgroups.3:33
65 #: build/C/man5/passwd.5:31 build/C/man3/putgrent.3:8
66 #: build/C/man3/putpwent.3:31 build/C/man3/setaliasent.3:10
72 #: build/C/man3/fgetgrent.3:33
73 msgid "fgetgrent - get group file entry"
74 msgstr "fgetgrent - グループファイルエントリの取り出し"
77 #: build/C/man3/fgetgrent.3:33 build/C/man3/fgetpwent.3:36
78 #: build/C/man3/getgrent.3:33 build/C/man3/getgrent_r.3:27
79 #: build/C/man3/getgrnam.3:36 build/C/man3/getgrouplist.3:32
80 #: build/C/man3/getpw.3:35 build/C/man3/getpwent.3:36
81 #: build/C/man3/getpwent_r.3:27 build/C/man3/getpwnam.3:40
82 #: build/C/man3/getspnam.3:13 build/C/man3/initgroups.3:35
83 #: build/C/man3/putgrent.3:10 build/C/man3/putpwent.3:33
84 #: build/C/man3/setaliasent.3:13
90 #: build/C/man3/fgetgrent.3:38
93 "B<#include E<lt>stdio.hE<gt>>\n"
94 "B<#include E<lt>sys/types.hE<gt>>\n"
95 "B<#include E<lt>grp.hE<gt>>\n"
97 "B<#include E<lt>stdio.hE<gt>>\n"
98 "B<#include E<lt>sys/types.hE<gt>>\n"
99 "B<#include E<lt>grp.hE<gt>>\n"
102 #: build/C/man3/fgetgrent.3:40
104 msgid "B<struct group *fgetgrent(FILE *>I<stream>B<);>\n"
105 msgstr "B<struct group *fgetgrent(FILE *>I<stream>B<);>\n"
108 #: build/C/man3/fgetgrent.3:45 build/C/man3/fgetpwent.3:48
109 #: build/C/man3/getgrent.3:48 build/C/man3/getgrent_r.3:43
110 #: build/C/man3/getgrnam.3:57 build/C/man3/getgrouplist.3:42
111 #: build/C/man3/getpwent.3:51 build/C/man3/getpwent_r.3:43
112 #: build/C/man3/getpwnam.3:61 build/C/man3/getspnam.3:61
113 #: build/C/man3/initgroups.3:46 build/C/man3/putpwent.3:45
114 msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
115 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7) 参照):"
118 #: build/C/man3/fgetgrent.3:49
119 msgid "B<fgetgrent>(): _SVID_SOURCE"
120 msgstr "B<fgetgrent>(): _SVID_SOURCE"
123 #: build/C/man3/fgetgrent.3:49 build/C/man3/fgetpwent.3:52
124 #: build/C/man5/ftpusers.5:22 build/C/man3/getgrent.3:68
125 #: build/C/man3/getgrent_r.3:51 build/C/man3/getgrnam.3:67
126 #: build/C/man3/getgrouplist.3:46 build/C/man3/getpw.3:43
127 #: build/C/man3/getpwent.3:62 build/C/man3/getpwent_r.3:50
128 #: build/C/man3/getpwnam.3:71 build/C/man3/getspnam.3:72
129 #: build/C/man5/group.5:29 build/C/man3/initgroups.3:50
130 #: build/C/man5/passwd.5:33 build/C/man3/putgrent.3:16
131 #: build/C/man3/putpwent.3:49 build/C/man3/setaliasent.3:31
137 #: build/C/man3/fgetgrent.3:63
138 msgid "The B<fgetgrent>() function returns a pointer to a structure containing the group information from the file referred to by I<stream>. The first time it is called it returns the first entry; thereafter, it returns successive entries. The file referred to by I<stream> must have the same format as I</etc/group> (see B<group>(5))."
139 msgstr "B<fgetgrent>() 関数は、 I<stream> で参照されるファイルから取り出したグループ情報 を含む構造体へのポインタを返す。最初に呼び出された時は 最初のエントリを返し、それ以降は、次のエントリを返す。 I<stream> で参照されるファイルは、 I</etc/group> と同じ形式でなければならない (B<group>(5) 参照)。"
142 #: build/C/man3/fgetgrent.3:65 build/C/man3/getgrent.3:92
143 #: build/C/man3/getgrent_r.3:68 build/C/man3/getgrnam.3:86
144 msgid "The I<group> structure is defined in I<E<lt>grp.hE<gt>> as follows:"
145 msgstr "I<group> 構造体は I<E<lt>grp.hE<gt>> で以下のように定義されている:"
148 #: build/C/man3/fgetgrent.3:75 build/C/man3/getgrent.3:102
149 #: build/C/man3/getgrent_r.3:78 build/C/man3/getgrnam.3:96
153 " char *gr_name; /* group name */\n"
154 " char *gr_passwd; /* group password */\n"
155 " gid_t gr_gid; /* group ID */\n"
156 " char **gr_mem; /* NULL-terminated array of pointers\n"
157 " to names of group members */\n"
161 " char *gr_name; /* グループ名 */\n"
162 " char *gr_passwd; /* グループのパスワード */\n"
163 " gid_t gr_gid; /* グループ ID */\n"
164 " char **gr_mem; /* グループのメンバ名へのポインター\n"
165 " の配列 (配列はヌルで終端する) */\n"
169 #: build/C/man3/fgetgrent.3:77 build/C/man3/fgetpwent.3:81
170 #: build/C/man3/getgrent.3:107 build/C/man3/getgrent_r.3:102
171 #: build/C/man3/getgrnam.3:137 build/C/man3/getgrouplist.3:78
172 #: build/C/man3/getpw.3:72 build/C/man3/getpwent.3:103
173 #: build/C/man3/getpwent_r.3:103 build/C/man3/getpwnam.3:143
174 #: build/C/man3/getspnam.3:216 build/C/man3/initgroups.3:68
175 #: build/C/man3/putgrent.3:41 build/C/man3/putpwent.3:70
176 #: build/C/man3/setaliasent.3:89
182 #: build/C/man3/fgetgrent.3:87
183 msgid "The B<fgetgrent>() function returns a pointer to a I<group> structure, or NULL if there are no more entries or an error occurs. In the event of an error, I<errno> is set to indicate the cause."
184 msgstr "B<fgetgrent>() 関数は I<group> 構造体へのポインタを返す。 これ以上エントリが無いか、エラーが発生した場合は NULL を返す。 エラーの場合、 I<errno> に原因を示す値が設定される。"
187 #: build/C/man3/fgetgrent.3:87 build/C/man3/fgetpwent.3:91
188 #: build/C/man3/getgrent.3:130 build/C/man3/getgrent_r.3:109
189 #: build/C/man3/getgrnam.3:175 build/C/man3/getpw.3:88
190 #: build/C/man3/getpwent.3:125 build/C/man3/getpwent_r.3:110
191 #: build/C/man3/getpwnam.3:181 build/C/man3/getspnam.3:229
192 #: build/C/man3/initgroups.3:75 build/C/man3/putpwent.3:78
198 #: build/C/man3/fgetgrent.3:88 build/C/man3/fgetpwent.3:92
199 #: build/C/man3/getgrent.3:153 build/C/man3/getgrnam.3:197
200 #: build/C/man3/getpw.3:97 build/C/man3/getpwent.3:140
201 #: build/C/man3/getpwnam.3:203 build/C/man3/initgroups.3:76
207 #. to allocate the group structure, or to allocate buffers
209 #: build/C/man3/fgetgrent.3:93 build/C/man3/getgrent.3:159
210 #: build/C/man3/getgrnam.3:204
211 msgid "Insufficient memory to allocate I<group> structure."
212 msgstr "I<group> 構造体を割り当てるためのメモリが不十分。"
215 #: build/C/man3/fgetgrent.3:93 build/C/man3/fgetpwent.3:101
216 #: build/C/man3/getgrent.3:177 build/C/man3/getgrent_r.3:117
217 #: build/C/man3/getgrnam.3:224 build/C/man3/getgrouplist.3:98
218 #: build/C/man3/getpw.3:106 build/C/man3/getpwent.3:165
219 #: build/C/man3/getpwent_r.3:118 build/C/man3/getpwnam.3:230
220 #: build/C/man3/getspnam.3:249 build/C/man3/initgroups.3:88
221 #: build/C/man3/putgrent.3:43 build/C/man3/putpwent.3:82
222 #: build/C/man3/setaliasent.3:101
224 msgid "CONFORMING TO"
228 #: build/C/man3/fgetgrent.3:95 build/C/man3/fgetpwent.3:103
229 #: build/C/man3/putpwent.3:84
234 #: build/C/man3/fgetgrent.3:95 build/C/man3/fgetpwent.3:103
235 #: build/C/man5/ftpusers.5:49 build/C/man3/getgrent.3:179
236 #: build/C/man3/getgrent_r.3:184 build/C/man3/getgrnam.3:247
237 #: build/C/man3/getgrouplist.3:189 build/C/man3/getpw.3:115
238 #: build/C/man3/getpwent.3:170 build/C/man3/getpwent_r.3:180
239 #: build/C/man3/getpwnam.3:326 build/C/man3/getspnam.3:253
240 #: build/C/man5/group.5:61 build/C/man3/initgroups.3:90
241 #: build/C/man5/passwd.5:162 build/C/man3/putgrent.3:45
242 #: build/C/man3/putpwent.3:84 build/C/man3/setaliasent.3:145
248 #: build/C/man3/fgetgrent.3:105
249 msgid "B<endgrent>(3), B<fgetgrent_r>(3), B<fopen>(3), B<getgrent>(3), B<getgrgid>(3), B<getgrnam>(3), B<putgrent>(3), B<setgrent>(3), B<group>(5)"
250 msgstr "B<endgrent>(3), B<fgetgrent_r>(3), B<fopen>(3), B<getgrent>(3), B<getgrgid>(3), B<getgrnam>(3), B<putgrent>(3), B<setgrent>(3), B<group>(5)"
253 #: build/C/man3/fgetgrent.3:105 build/C/man3/fgetpwent.3:114
254 #: build/C/man5/ftpusers.5:53 build/C/man3/getgrent.3:187
255 #: build/C/man3/getgrent_r.3:191 build/C/man3/getgrnam.3:254
256 #: build/C/man3/getgrouplist.3:196 build/C/man3/getpw.3:124
257 #: build/C/man3/getpwent.3:178 build/C/man3/getpwent_r.3:188
258 #: build/C/man3/getpwnam.3:336 build/C/man3/getspnam.3:258
259 #: build/C/man5/group.5:67 build/C/man3/initgroups.3:94
260 #: build/C/man5/passwd.5:171 build/C/man3/putgrent.3:49
261 #: build/C/man3/putpwent.3:92 build/C/man3/setaliasent.3:154
267 #: build/C/man3/fgetgrent.3:113 build/C/man3/fgetpwent.3:122
268 #: build/C/man5/ftpusers.5:61 build/C/man3/getgrent.3:195
269 #: build/C/man3/getgrent_r.3:199 build/C/man3/getgrnam.3:262
270 #: build/C/man3/getgrouplist.3:204 build/C/man3/getpw.3:132
271 #: build/C/man3/getpwent.3:186 build/C/man3/getpwent_r.3:196
272 #: build/C/man3/getpwnam.3:344 build/C/man3/getspnam.3:266
273 #: build/C/man5/group.5:75 build/C/man3/initgroups.3:102
274 #: build/C/man5/passwd.5:179 build/C/man3/putgrent.3:57
275 #: build/C/man3/putpwent.3:100 build/C/man3/setaliasent.3:162
276 msgid "This page is part of release 3.78 of the Linux I<man-pages> project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at \\%http://www.kernel.org/doc/man-pages/."
278 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.78 の一部\n"
279 "である。プロジェクトの説明とバグ報告に関する情報は\n"
280 "http://www.kernel.org/doc/man-pages/ に書かれている。"
283 #: build/C/man3/fgetpwent.3:33
289 #: build/C/man3/fgetpwent.3:33 build/C/man3/putpwent.3:30
295 #: build/C/man3/fgetpwent.3:36
296 msgid "fgetpwent - get password file entry"
297 msgstr "fgetpwent - パスワードファイルエントリの取り出し"
300 #: build/C/man3/fgetpwent.3:41 build/C/man3/putpwent.3:38
303 "B<#include E<lt>stdio.hE<gt>>\n"
304 "B<#include E<lt>sys/types.hE<gt>>\n"
305 "B<#include E<lt>pwd.hE<gt>>\n"
307 "B<#include E<lt>stdio.hE<gt>>\n"
308 "B<#include E<lt>sys/types.hE<gt>>\n"
309 "B<#include E<lt>pwd.hE<gt>>\n"
312 #: build/C/man3/fgetpwent.3:43
314 msgid "B<struct passwd *fgetpwent(FILE *>I<stream>B<);>\n"
315 msgstr "B<struct passwd *fgetpwent(FILE *>I<stream>B<);>\n"
318 #: build/C/man3/fgetpwent.3:52
319 msgid "B<fgetpwent>(): _SVID_SOURCE"
320 msgstr "B<fgetpwent>(): _SVID_SOURCE"
323 #: build/C/man3/fgetpwent.3:65
324 msgid "The B<fgetpwent>() function returns a pointer to a structure containing the broken out fields of a line in the file I<stream>. The first time it is called it returns the first entry; thereafter, it returns successive entries. The file referred to by I<stream> must have the same format as I</etc/passwd> (see B<passwd>(5))."
325 msgstr "B<fgetpwent>() 関数は、I<stream> から得られた行を分解したフィールド を含む構造体へのポインタを返す。 最初に呼び出された時には最初のエントリを返し、それ以降は 次のエントリを返す。 I<stream> で参照されるファイルは I</etc/passwd> と同じ形式でなければならない (B<passwd>(5) 参照)。"
328 #: build/C/man3/fgetpwent.3:67 build/C/man3/getpw.3:55
329 #: build/C/man3/getpwent.3:86 build/C/man3/getpwent_r.3:67
330 #: build/C/man3/getpwnam.3:90 build/C/man3/putpwent.3:56
331 msgid "The I<passwd> structure is defined in I<E<lt>pwd.hE<gt>> as follows:"
332 msgstr "I<passwd> 構造体は、I<E<lt>pwd.hE<gt>> で以下のように定義されている:"
335 #: build/C/man3/fgetpwent.3:79
339 " char *pw_name; /* username */\n"
340 " char *pw_passwd; /* user password */\n"
341 " uid_t pw_uid; /* user ID */\n"
342 " gid_t pw_gid; /* group ID */\n"
343 " char *pw_gecos; /* real name */\n"
344 " char *pw_dir; /* home directory */\n"
345 " char *pw_shell; /* shell program */\n"
349 " char *pw_name; /* ユーザー名 */\n"
350 " char *pw_passwd; /* ユーザーのパスワード */\n"
351 " uid_t pw_uid; /* ユーザー ID */\n"
352 " gid_t pw_gid; /* グループ ID */\n"
353 " char *pw_gecos; /* 実名 */\n"
354 " char *pw_dir; /* ホームディレクトリ */\n"
355 " char *pw_shell; /* シェルプログラム */\n"
359 #: build/C/man3/fgetpwent.3:91
360 msgid "The B<fgetpwent>() function returns a pointer to a I<passwd> structure, or NULL if there are no more entries or an error occurs. In the event of an error, I<errno> is set to indicate the cause."
361 msgstr "B<fgetpwent>() 関数は、 I<passwd> 構造体へのポインタを返す。 これ以上エントリが無いか、エラーが発生した場合は NULL を返す。 エラーの場合、 I<errno> に原因を示す値が設定される。"
364 #. This structure is static, allocated 0 or 1 times. No memory leak. (libc45)
366 #: build/C/man3/fgetpwent.3:97 build/C/man3/getpw.3:102
367 #: build/C/man3/getpwent.3:147 build/C/man3/getpwnam.3:210
368 msgid "Insufficient memory to allocate I<passwd> structure."
369 msgstr "I<passwd> 構造体に割り当てるメモリが十分なかった。"
372 #: build/C/man3/fgetpwent.3:97 build/C/man5/ftpusers.5:47
373 #: build/C/man3/getgrent.3:162 build/C/man3/getgrnam.3:207
374 #: build/C/man3/getpw.3:102 build/C/man3/getpwent.3:150
375 #: build/C/man3/getpwnam.3:213 build/C/man3/getspnam.3:236
376 #: build/C/man5/group.5:53 build/C/man3/initgroups.3:84
377 #: build/C/man5/passwd.5:142 build/C/man3/setaliasent.3:95
383 #: build/C/man3/fgetpwent.3:98 build/C/man3/getpw.3:103
384 #: build/C/man3/getpwent.3:151 build/C/man3/getpwnam.3:214
385 #: build/C/man5/passwd.5:144
387 msgid "I</etc/passwd>"
388 msgstr "I</etc/passwd>"
391 #: build/C/man3/fgetpwent.3:101 build/C/man3/getpw.3:106
392 msgid "password database file"
393 msgstr "パスワードデータベースファイル"
396 #: build/C/man3/fgetpwent.3:114
397 msgid "B<endpwent>(3), B<fgetpwent_r>(3), B<fopen>(3), B<getpw>(3), B<getpwent>(3), B<getpwnam>(3), B<getpwuid>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
398 msgstr "B<endpwent>(3), B<fgetpwent_r>(3), B<fopen>(3), B<getpw>(3), B<getpwent>(3), B<getpwnam>(3), B<getpwuid>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
401 #: build/C/man5/ftpusers.5:19
407 #: build/C/man5/ftpusers.5:19
413 #: build/C/man5/ftpusers.5:19 build/C/man5/group.5:26 build/C/man5/passwd.5:30
419 #: build/C/man5/ftpusers.5:22
420 msgid "ftpusers - list of users that may not log in via the FTP daemon"
421 msgstr "ftpusers - FTP デーモン経由でのログインを許さないユーザーのリスト"
424 #: build/C/man5/ftpusers.5:41
425 msgid "The text file B<ftpusers> 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<ftpusers>, 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<ftpusers>."
426 msgstr "B<ftpusers> はテキストファイルで、File Transfer Protocol (FTP) サーバーデーモン を利用してのログインを許さないユーザーをリストしたものである。 このファイルは単にシステム管理のためだけでなく、 TCP/IP ネットワーク環境でのセキュリティを向上させるのにも利用できる。 通常は、ftp を用いた作業を行わないユーザーや、 FTP サーバーデーモン経由でのログインを許すには 権限が大きすぎるユーザーをリストしておく。 このようなユーザーには、例えば root, daemon, bin, uucp, news などが含まれる。 お使いの FTP サーバーデーモンが B<ftpusers> を用いない場合は、そのデーモンのドキュメントを読んで、 特定のユーザーのアクセスをブロックするやり方を学んでおくことをすすめる。 Washington University FTP サーバーデーモン (wuftpd) と Professional FTP デーモン (proftpd) とは、 B<ftpusers> を利用することがわかっている。"
429 #: build/C/man5/ftpusers.5:41
435 #: build/C/man5/ftpusers.5:47
436 msgid "The format of B<ftpusers> is very simple. There is one account name (or username) per line. Lines starting with a # are ignored."
437 msgstr "B<ftpusers> のフォーマットは非常に単純であり、 アカウント名 (またはユーザー名) を各行に書くだけである。 # で始まる行は無視される。"
440 #: build/C/man5/ftpusers.5:49
441 msgid "I</etc/ftpusers>"
442 msgstr "I</etc/ftpusers>"
445 #: build/C/man5/ftpusers.5:53
446 msgid "B<passwd>(5), B<proftpd>(8), B<wuftpd>(8)"
447 msgstr "B<passwd>(5), B<proftpd>(8), B<wuftpd>(8)"
450 #: build/C/man3/getgrent.3:30
456 #: build/C/man3/getgrent.3:30
462 #: build/C/man3/getgrent.3:33
463 msgid "getgrent, setgrent, endgrent - get group file entry"
464 msgstr "getgrent, setgrent, endgrent - グループファイルエントリの取得"
467 #: build/C/man3/getgrent.3:37 build/C/man3/getgrnam.3:40
468 #: build/C/man3/initgroups.3:39
471 "B<#include E<lt>sys/types.hE<gt>>\n"
472 "B<#include E<lt>grp.hE<gt>>\n"
474 "B<#include E<lt>sys/types.hE<gt>>\n"
475 "B<#include E<lt>grp.hE<gt>>\n"
478 #: build/C/man3/getgrent.3:39
480 msgid "B<struct group *getgrent(void);>\n"
481 msgstr "B<struct group *getgrent(void);>\n"
484 #: build/C/man3/getgrent.3:41
486 msgid "B<void setgrent(void);>\n"
487 msgstr "B<void setgrent(void);>\n"
490 #: build/C/man3/getgrent.3:43
492 msgid "B<void endgrent(void);>\n"
493 msgstr "B<void endgrent(void);>\n"
496 #: build/C/man3/getgrent.3:53
497 msgid "B<setgrent>():"
498 msgstr "B<setgrent>():"
501 #: build/C/man3/getgrent.3:56
502 msgid "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED ||"
503 msgstr "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED ||"
506 #: build/C/man3/getgrent.3:58
507 msgid "/* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
508 msgstr "/* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
511 #: build/C/man3/getgrent.3:62
512 msgid "B<getgrent>(), B<endgrent>():"
513 msgstr "B<getgrent>(), B<endgrent>():"
516 #: build/C/man3/getgrent.3:65
517 msgid "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
518 msgstr "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
521 #: build/C/man3/getgrent.3:80
522 msgid "The B<getgrent>() 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</etc/group>, NIS, and LDAP). The first time B<getgrent>() is called, it returns the first entry; thereafter, it returns successive entries."
523 msgstr "B<getgrent>() 関数は、グループデータベースから取得したエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返す (グループデータベースの例: ローカルのグループファイル I</etc/group>, NIS, LDAP)。 B<getgrent>() は、最初に呼び出された時は最初のエントリを返し、 それ以降は呼び出される毎に次のエントリを返す。"
526 #: build/C/man3/getgrent.3:85
527 msgid "The B<setgrent>() function rewinds to the beginning of the group database, to allow repeated scans."
528 msgstr "B<setgrent>() 関数を使うと、もう一度読み込めるように、 グループデータベースの先頭に戻る。"
531 #: build/C/man3/getgrent.3:90
532 msgid "The B<endgrent>() function is used to close the group database after all processing has been performed."
533 msgstr "B<endgrent>() 関数は、全ての処理が終わった後にグループ データベースをクローズする。"
536 #: build/C/man3/getgrent.3:107 build/C/man3/getgrent_r.3:83
537 #: build/C/man3/getgrnam.3:101
538 msgid "For more information about the fields of this structure, see B<group>(5)."
539 msgstr "この構造体のフィールドの詳細は B<group>(5) を参照のこと。"
542 #: build/C/man3/getgrent.3:114
543 msgid "The B<getgrent>() function returns a pointer to a I<group> structure, or NULL if there are no more entries or an error occurs."
544 msgstr "B<getgrent>() 関数は I<group> 構造体へのポインタを返す。 これ以上エントリが無いか、エラーが発生した場合は NULL を返す。"
547 #: build/C/man3/getgrent.3:121
548 msgid "Upon error, I<errno> may be set. If one wants to check I<errno> after the call, it should be set to zero before the call."
549 msgstr "エラーが発生すると、 I<errno> が適切に設定される。 この関数の呼び出し後に I<errno> をチェックしたい場合は、呼び出し前に I<errno> を 0 に設定しておかないといけない。"
552 #: build/C/man3/getgrent.3:130
553 msgid "The return value may point to a static area, and may be overwritten by subsequent calls to B<getgrent>(), B<getgrgid>(3), or B<getgrnam>(3). (Do not pass the returned pointer to B<free>(3).)"
554 msgstr "返り値は静的な領域を指しており、その後の B<getgrent>(), B<getgrgid>(3), B<getgrnam>(3) の呼び出しで上書きされるかもしれない。 (返されたポインタを B<free>(3) に渡さないこと。)"
557 #: build/C/man3/getgrent.3:131
563 #: build/C/man3/getgrent.3:136
564 msgid "The service was temporarily unavailable; try again later. For NSS backends in glibc this indicates a temporary error talking to the backend. The error may correct itself, retrying later is suggested."
565 msgstr "サービスが一時的に利用できなかったこと。あとでもう一度試してほしい。 NSS バックエンドの場合、glibc では、バックエンドとの通信中に一時的なエラーが発生したことを示す。 このエラーは直るかもしれないので、あとでもう一度試すよう提案している。"
568 #: build/C/man3/getgrent.3:136 build/C/man3/getgrnam.3:183
569 #: build/C/man3/getpwent.3:126 build/C/man3/getpwnam.3:189
575 #: build/C/man3/getgrent.3:139 build/C/man3/getgrnam.3:186
576 #: build/C/man3/getpwent.3:129 build/C/man3/getpwnam.3:192
577 msgid "A signal was caught."
581 #: build/C/man3/getgrent.3:139 build/C/man3/getgrnam.3:186
582 #: build/C/man3/getpwent.3:129 build/C/man3/getpwnam.3:192
588 #: build/C/man3/getgrent.3:142 build/C/man3/getgrnam.3:189
589 #: build/C/man3/getpwent.3:132 build/C/man3/getpwnam.3:195
594 #: build/C/man3/getgrent.3:142 build/C/man3/getgrnam.3:189
595 #: build/C/man3/getpwent.3:132 build/C/man3/getpwnam.3:195
601 #: build/C/man3/getgrent.3:145
602 msgid "The calling process already has too many open files."
603 msgstr "呼び出したプロセスが既にファイルをオープンし過ぎている。"
606 #: build/C/man3/getgrent.3:145 build/C/man3/getgrnam.3:194
607 #: build/C/man3/getpwent.3:137 build/C/man3/getpwnam.3:200
613 #: build/C/man3/getgrent.3:148
614 msgid "Too many open files in the system."
615 msgstr "システム上にオープンされたファイルが多過ぎる。"
618 #: build/C/man3/getgrent.3:148 build/C/man3/getgrent_r.3:110
619 #: build/C/man3/getpwent_r.3:111
625 #: build/C/man3/getgrent.3:153
626 msgid "A necessary input file cannot be found. For NSS backends in glibc this indicates the backend is not correctly configured."
627 msgstr "必要な入力ファイルが見つからなかった。 NSS バックエンドの場合、glibc では、このエラーはバックエンドが正しく設定されていないことを示す。"
630 #: build/C/man3/getgrent.3:159 build/C/man3/getgrent_r.3:113
631 #: build/C/man3/getgrnam.3:204 build/C/man3/getpwent.3:147
632 #: build/C/man3/getpwent_r.3:114 build/C/man3/getpwnam.3:210
633 #: build/C/man3/getspnam.3:233
639 #: build/C/man3/getgrent.3:162 build/C/man3/getgrnam.3:207
640 #: build/C/man3/getpwent.3:150 build/C/man3/getpwnam.3:213
641 msgid "Insufficient buffer space supplied."
642 msgstr "与えられたバッファ空間が不十分である。"
645 #: build/C/man3/getgrent.3:163 build/C/man3/getgrnam.3:208
647 msgid "I</etc/group>"
648 msgstr "I</etc/group>"
651 #: build/C/man3/getgrent.3:166 build/C/man3/getgrnam.3:211
652 msgid "local group database file"
653 msgstr "ローカルのグループデータベースファイル"
656 #: build/C/man3/getgrent.3:166 build/C/man3/getgrnam.3:211
657 #: build/C/man3/getpwent.3:154 build/C/man3/getpwnam.3:217
663 #: build/C/man3/getgrent.3:167 build/C/man3/getgrnam.3:212
664 #: build/C/man3/getpwent.3:155 build/C/man3/getpwnam.3:218
666 msgid "Multithreading (see pthreads(7))"
667 msgstr "マルチスレッディング (pthreads(7) 参照)"
670 #: build/C/man3/getgrent.3:171
671 msgid "The B<getgrent>() function is not thread-safe."
672 msgstr "B<getgrent>() 関数はスレッドセーフではない。"
675 #: build/C/man3/getgrent.3:177
676 msgid "The B<setgrent>() and B<endgrent>() functions are thread-safe."
677 msgstr "関数 B<setgrent>() と B<endgrent>() はスレッドセーフである。"
680 #: build/C/man3/getgrent.3:179 build/C/man3/getgrnam.3:226
681 msgid "SVr4, 4.3BSD, POSIX.1-2001."
682 msgstr "SVr4, 4.3BSD, POSIX.1-2001."
685 #: build/C/man3/getgrent.3:187
686 msgid "B<fgetgrent>(3), B<getgrent_r>(3), B<getgrgid>(3), B<getgrnam>(3), B<getgrouplist>(3), B<putgrent>(3), B<group>(5)"
687 msgstr "B<fgetgrent>(3), B<getgrent_r>(3), B<getgrgid>(3), B<getgrnam>(3) B<getgrouplist>(3), B<putgrent>(3), B<group>(5)"
690 #: build/C/man3/getgrent_r.3:24
696 #: build/C/man3/getgrent_r.3:24 build/C/man3/getpw.3:32
697 #: build/C/man3/getpwent_r.3:24 build/C/man3/getspnam.3:8
698 #: build/C/man3/putgrent.3:7
704 #: build/C/man3/getgrent_r.3:27
705 msgid "getgrent_r, fgetgrent_r - get group file entry reentrantly"
706 msgstr "getgrent_r, fgetgrent_r - グループファイルエントリをリエントラント (reentrant) に取り出す"
709 #: build/C/man3/getgrent_r.3:30
711 msgid "B<#include E<lt>grp.hE<gt>>\n"
712 msgstr "B<#include E<lt>grp.hE<gt>>\n"
715 #: build/C/man3/getgrent_r.3:32
717 msgid "B<int getgrent_r(struct group *>I<gbuf>B<, char *>I<buf>B<,>\n"
718 msgstr "B<int getgrent_r(struct group *>I<gbuf>B<, char *>I<buf>B<,>\n"
721 #: build/C/man3/getgrent_r.3:34
723 msgid "B< size_t >I<buflen>B<, struct group **>I<gbufp>B<);>\n"
724 msgstr "B< size_t >I<buflen>B<, struct group **>I<gbufp>B<);>\n"
727 #: build/C/man3/getgrent_r.3:36
729 msgid "B<int fgetgrent_r(FILE *>I<stream>B<, struct group *>I<gbuf>B<, char *>I<buf>B<,>\n"
730 msgstr "B<int fgetgrent_r(FILE *>I<stream>B<, struct group *>I<gbuf>B<, char *>I<buf>B<,>\n"
733 #: build/C/man3/getgrent_r.3:38
735 msgid "B< size_t >I<buflen>B<, struct group **>I<gbufp>B<);>\n"
736 msgstr "B< size_t >I<buflen>B<, struct group **>I<gbufp>B<);>\n"
738 #. FIXME . The FTM requirements seem inconsistent here. File a glibc bug?
740 #: build/C/man3/getgrent_r.3:48
741 msgid "B<getgrent_r>(): _GNU_SOURCE"
742 msgstr "B<getgrent_r>(): _GNU_SOURCE"
745 #: build/C/man3/getgrent_r.3:51
746 msgid "B<fgetgrent_r>(): _SVID_SOURCE"
747 msgstr "B<fgetgrent_r>(): _SVID_SOURCE"
750 #: build/C/man3/getgrent_r.3:64
751 msgid "The functions B<getgrent_r>() and B<fgetgrent_r>() are the reentrant versions of B<getgrent>(3) and B<fgetgrent>(3). The former reads the next group entry from the stream initialized by B<setgrent>(3). The latter reads the next group entry from I<stream>."
752 msgstr "関数 B<getgrent_r>() と B<fgetgrent_r>() は B<getgrent>(3) と B<fgetgrent>(3) のリエントラント版である。 前者は、 B<setgrent>(3) によって初期化されたストリームから、次のグループファイルのエントリを読み込む。 後者は、 I<stream> から次のグループファイルのエントリを読み込む。"
755 #: build/C/man3/getgrent_r.3:102
756 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<gbuf> that can hold a I<struct group>. And next the buffer I<buf> of size I<buflen> that can hold additional strings. The result of these functions, the I<struct group> read from the stream, is stored in the provided buffer I<*gbuf>, and a pointer to this I<struct group> is returned in I<*gbufp>."
757 msgstr "リエントラントでない関数は静的な格納領域へのポインタを返す。 この静的な格納領域には、更にグループ名・パスワード・ メンバへのポインタが含まれる。 ここで説明されているリエントラントな関数は、 呼び出し側から提供されるバッファにグループ名など全てを返す。 最初の引き数として I<struct group> を保持できるバッファ I<gbuf> がある。 次にその他の文字列を保持できるサイズ I<buflen> のバッファ I<buf> がある。 これらの関数の結果 (ストリームから読み込まれた I<struct group>) は、 提供されたバッファ I<*gbuf> に格納され、この I<struct group> へのポインタは I<*gbufp> に返される。"
760 #: build/C/man3/getgrent_r.3:109
761 msgid "On success, these functions return 0 and I<*gbufp> is a pointer to the I<struct group>. On error, these functions return an error value and I<*gbufp> is NULL."
762 msgstr "成功した場合、これらの関数は 0 を返し、 *I<gbufp> は I<struct group> へのポインタとなる。 エラーの場合、これらの関数はエラー値を返し、 *I<gbufp> は NULL になる。"
765 #: build/C/man3/getgrent_r.3:113 build/C/man3/getpwent_r.3:114
766 msgid "No more entries."
770 #: build/C/man3/getgrent_r.3:117 build/C/man3/getpwent_r.3:118
771 msgid "Insufficient buffer space supplied. Try again with larger buffer."
772 msgstr "十分なバッファ空間が与えられていない。 もっと大きなバッファで再度実行すること。"
775 #: build/C/man3/getgrent_r.3:122 build/C/man3/getpwent_r.3:123
776 msgid "These functions are GNU extensions, done in a style resembling the POSIX version of functions like B<getpwnam_r>(3). Other systems use the prototype"
777 msgstr "これらの関数は GNU 拡張であり、POSIX 版の関数 B<getpwnam_r>(3) の形式に似せてある。 他のシステムでは以下のプロトタイプが使われている。"
780 #: build/C/man3/getgrent_r.3:127
783 "struct group *getgrent_r(struct group *grp, char *buf,\n"
786 "struct group *getgrent_r(struct group *grp, char *buf,\n"
790 #: build/C/man3/getgrent_r.3:131 build/C/man3/getpwent_r.3:132
792 msgstr "より良いものでは、以下のようになっている。"
795 #: build/C/man3/getgrent_r.3:136
798 "int getgrent_r(struct group *grp, char *buf, int buflen,\n"
801 "int getgrent_r(struct group *grp, char *buf, int buflen,\n"
805 #: build/C/man3/getgrent_r.3:138 build/C/man3/getgrnam.3:226
806 #: build/C/man3/getpwent_r.3:140 build/C/man3/getpwnam.3:235
807 #: build/C/man5/passwd.5:144
813 #: build/C/man3/getgrent_r.3:143
814 msgid "The function B<getgrent_r>() is not really reentrant since it shares the reading position in the stream with all other threads."
815 msgstr "関数 B<getgrent_r>() は本当のリエントラントではない。 なぜなら、ストリームの読み込み位置を 他の全てのスレッドと共有しているためである。"
818 #: build/C/man3/getgrent_r.3:143 build/C/man3/getgrouplist.3:109
819 #: build/C/man3/getpwent_r.3:145 build/C/man3/getpwnam.3:274
820 #: build/C/man3/setaliasent.3:115
826 #: build/C/man3/getgrent_r.3:150
829 "#define _GNU_SOURCE\n"
830 "#include E<lt>grp.hE<gt>\n"
831 "#include E<lt>stdio.hE<gt>\n"
832 "#include E<lt>stdlib.hE<gt>\n"
833 "#define BUFLEN 4096\n"
835 "#define _GNU_SOURCE\n"
836 "#include E<lt>grp.hE<gt>\n"
837 "#include E<lt>stdio.hE<gt>\n"
838 "#include E<lt>stdlib.hE<gt>\n"
839 "#define BUFLEN 4096\n"
842 #: build/C/man3/getgrent_r.3:157
848 " struct group grp, *grpp;\n"
849 " char buf[BUFLEN];\n"
855 " struct group grp, *grpp;\n"
856 " char buf[BUFLEN];\n"
860 #: build/C/man3/getgrent_r.3:174
865 " i = getgrent_r(&grp, buf, BUFLEN, &grpp);\n"
868 " printf(\"%s (%d):\", grpp-E<gt>gr_name, grpp-E<gt>gr_gid);\n"
869 " for (i = 0; ; i++) {\n"
870 " if (grpp-E<gt>gr_mem[i] == NULL)\n"
872 " printf(\" %s\", grpp-E<gt>gr_mem[i]);\n"
874 " printf(\"\\en\");\n"
877 " exit(EXIT_SUCCESS);\n"
882 " i = getgrent_r(&grp, buf, BUFLEN, &grpp);\n"
885 " printf(\"%s (%d):\", grpp-E<gt>gr_name, grpp-E<gt>gr_gid);\n"
886 " for (i = 0; ; i++) {\n"
887 " if (grpp-E<gt>gr_mem[i] == NULL)\n"
889 " printf(\" %s\", grpp-E<gt>gr_mem[i]);\n"
891 " printf(\"\\en\");\n"
894 " exit(EXIT_SUCCESS);\n"
898 #: build/C/man3/getgrent_r.3:191
899 msgid "B<fgetgrent>(3), B<getgrent>(3), B<getgrgid>(3), B<getgrnam>(3), B<putgrent>(3), B<group>(5)"
900 msgstr "B<fgetgrent>(3), B<getgrent>(3), B<getgrgid>(3), B<getgrnam>(3), B<putgrent>(3), B<group>(5)"
903 #: build/C/man3/getgrnam.3:33
909 #: build/C/man3/getgrnam.3:36
910 msgid "getgrnam, getgrnam_r, getgrgid, getgrgid_r - get group file entry"
911 msgstr "getgrnam, getgrnam_r, getgrgid, getgrgid_r - グループファイルエントリの取り出し"
914 #: build/C/man3/getgrnam.3:42
916 msgid "B<struct group *getgrnam(const char *>I<name>B<);>\n"
917 msgstr "B<struct group *getgrnam(const char *>I<name>B<);>\n"
920 #: build/C/man3/getgrnam.3:44
922 msgid "B<struct group *getgrgid(gid_t >I<gid>B<);>\n"
923 msgstr "B<struct group *getgrgid(gid_t >I<gid>B<);>\n"
926 #: build/C/man3/getgrnam.3:46
928 msgid "B<int getgrnam_r(const char *>I<name>B<, struct group *>I<grp>B<,>\n"
929 msgstr "B<int getgrnam_r(const char *>I<name>B<, struct group *>I<grp>B<,>\n"
932 #: build/C/man3/getgrnam.3:48 build/C/man3/getgrnam.3:52
934 msgid "B< char *>I<buf>B<, size_t >I<buflen>B<, struct group **>I<result>B<);>\n"
935 msgstr "B< char *>I<buf>B<, size_t >I<buflen>B<, struct group **>I<result>B<);>\n"
938 #: build/C/man3/getgrnam.3:50
940 msgid "B<int getgrgid_r(gid_t >I<gid>B<, struct group *>I<grp>B<,>\n"
941 msgstr "B<int getgrgid_r(gid_t >I<gid>B<, struct group *>I<grp>B<,>\n"
944 #: build/C/man3/getgrnam.3:62
945 msgid "B<getgrnam_r>(), B<getgrgid_r>():"
946 msgstr "B<getgrnam_r>(), B<getgrgid_r>():"
949 #: build/C/man3/getgrnam.3:65 build/C/man3/getpwnam.3:69
950 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE || _POSIX_SOURCE"
951 msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE || _POSIX_SOURCE"
954 #: build/C/man3/getgrnam.3:77
955 msgid "The B<getgrnam>() 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</etc/group>, NIS, and LDAP) that matches the group name I<name>."
956 msgstr "B<getgrnam>() 関数は、グループ名 I<name> にマッチするグループデータベースのエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返す (パスワードデータベースの例: ローカルのグループファイル I</etc/group>, NIS, LDAP)。"
959 #: build/C/man3/getgrnam.3:84
960 msgid "The B<getgrgid>() 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<gid>."
961 msgstr "B<getgrgid>() 関数は、グループ ID I<uid> にマッチするグループデータベースのエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返す。"
964 #: build/C/man3/getgrnam.3:124
965 msgid "The B<getgrnam_r>() and B<getgrgid_r>() functions obtain the same information as B<getgrnam>() and B<getgrgid>(), but store the retrieved I<group> structure in the space pointed to by I<grp>. The string fields pointed to by the members of the I<group> structure are stored in the buffer I<buf> of size I<buflen>. 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>."
967 "B<getgrnam_r>() と B<getgrgid_r>() 関数は、それぞれ B<getgrnam>() と\n"
968 "B<getgrgid>() と同じ情報を取得するが、取得した I<group> 構造体を\n"
969 "I<grp> が指す領域に格納する。I<group> 構造体のメンバーが指す文字列は、\n"
970 "サイズ I<buflen> のバッファ I<buf> に格納される。成功した場合\n"
971 "I<*gbufp> には結果へのポインタが格納される。エントリが見つからなかった\n"
972 "場合やエラーが発生した場合には I<*result> には NULL が入る。"
975 #: build/C/man3/getgrnam.3:126 build/C/man3/getpwnam.3:132
980 #: build/C/man3/getgrnam.3:128
982 msgid " sysconf(_SC_GETGR_R_SIZE_MAX)\n"
983 msgstr " sysconf(_SC_GETGR_R_SIZE_MAX)\n"
986 #: build/C/man3/getgrnam.3:137 build/C/man3/getpwnam.3:143
987 msgid "returns either -1, without changing I<errno>, or an initial suggested size for I<buf>. (If this size is too small, the call fails with B<ERANGE>, in which case the caller can retry with a larger buffer.)"
989 "は、 I<errno> を変更せずに -1 を返すか、 I<buf> の初期サイズの推奨値を\n"
990 "返す。(このサイズが小さすぎる場合、呼び出しは B<ERANGE> で失敗し、この\n"
991 "場合には呼び出し側はバッファを大きくしてから再度呼び出すことができる。)"
994 #: build/C/man3/getgrnam.3:152
995 msgid "The B<getgrnam>() and B<getgrgid>() functions return a pointer to a I<group> structure, or NULL if the matching entry is not found or an error occurs. If an error occurs, I<errno> is set appropriately. If one wants to check I<errno> after the call, it should be set to zero before the call."
996 msgstr "B<getgrnam>() と B<getgrgid>() 関数は、 I<group> 構造体へのポインタを返す。 マッチするエントリが見つからなかった場合や、 エラーが発生した場合は NULL を返す。 エラーが起こった場合、 I<errno> が適切に設定される。 呼び出しの後で I<errno> をチェックしたい場合は、 呼び出しの前に (この値を) 0 に設定しておくべきである。"
999 #: build/C/man3/getgrnam.3:161
1000 msgid "The return value may point to a static area, and may be overwritten by subsequent calls to B<getgrent>(3), B<getgrgid>(), or B<getgrnam>(). (Do not pass the returned pointer to B<free>(3).)"
1001 msgstr "返り値は静的な領域を指しており、その後の B<getgrent>(3), B<getgrgid>(), B<getgrnam>() の呼び出しで上書きされるかもしれない。 (返されたポインタを B<free>(3) に渡さないこと。)"
1004 #: build/C/man3/getgrnam.3:175
1005 msgid "On success, B<getgrnam_r>() and B<getgrgid_r>() return zero, and set I<*result> to I<grp>. 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>."
1006 msgstr "成功すると、 B<getgrnam_r>() と B<getgrgid_r>() は 0 を返し、 I<*result> に I<grp> を設定する。 マッチするグループエントリが見つからなかった場合には、 0 を返し、 I<*result> に NULL を設定する。 エラーの場合、エラー番号を返し、 I<*result> に NULL を設定する。"
1009 #: build/C/man3/getgrnam.3:176 build/C/man3/getpwnam.3:182
1011 msgid "B<0> or B<ENOENT> or B<ESRCH> or B<EBADF> or B<EPERM> or ... "
1012 msgstr "B<0> または B<ENOENT> または B<ESRCH> または B<EBADF> または B<EPERM> または ... "
1015 #: build/C/man3/getgrnam.3:183
1016 msgid "The given I<name> or I<gid> was not found."
1017 msgstr "指定された I<name> または I<gid> が見つからなかった。"
1020 #: build/C/man3/getgrnam.3:194 build/C/man3/getpwent.3:137
1021 #: build/C/man3/getpwnam.3:200
1022 msgid "The maximum number (B<OPEN_MAX>) of files was open already in the calling process."
1023 msgstr "呼び出し元プロセスがオープンしているファイル数が すでに上限 (B<OPEN_MAX>) であった。"
1026 #: build/C/man3/getgrnam.3:197 build/C/man3/getpwent.3:140
1027 #: build/C/man3/getpwnam.3:203
1028 msgid "The maximum number of files was open already in the system."
1029 msgstr "システムでオープンされているファイル数がすでに上限であった。"
1032 #: build/C/man3/getgrnam.3:218
1033 msgid "The B<getgrnam>() and B<getgrgid>() functions are not thread-safe."
1034 msgstr "関数 B<getgrnam>() と B<getgrgid>() はスレッドセーフではない。"
1037 #: build/C/man3/getgrnam.3:224
1038 msgid "The B<getgrnam_r>() and B<getgrgid_r>() functions are thread-safe."
1039 msgstr "関数 B<getgrnam_r>() と B<getgrgid_r>() はスレッドセーフである。"
1042 #. AIX 5.1 - gives ESRCH
1043 #. OSF1 4.0g - gives EWOULDBLOCK
1044 #. libc, glibc up to version 2.6, Irix 6.5 - give ENOENT
1045 #. glibc since version 2.7 - give 0
1046 #. FreeBSD 4.8, OpenBSD 3.2, NetBSD 1.6 - give EPERM
1047 #. SunOS 5.8 - gives EBADF
1048 #. Tru64 5.1b, HP-UX-11i, SunOS 5.7 - give 0
1050 #: build/C/man3/getgrnam.3:247
1051 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<errno> might have in this situation. But that makes it impossible to recognize errors. One might argue that according to POSIX I<errno> 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."
1052 msgstr "上記の「返り値」以下の記述は POSIX.1-2001 に拠る。 この標準は「(エントリが) 見つからないこと」をエラーとしていないので、 そのような場合に I<errno> がどのような値になるかを定めていない。 そのため、エラーを認識することは不可能である。 POSIX に準拠して、エントリが見つからない場合は I<errno> を変更しないようにすべきである、と主張する人もいるかもしれない。 様々な UNIX 系のシステムで試してみると、そのような場合には 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM といった様々な値が返される。 他の値が返されるかもしれない。"
1055 #: build/C/man3/getgrnam.3:254
1056 msgid "B<endgrent>(3), B<fgetgrent>(3), B<getgrent>(3), B<getpwnam>(3), B<setgrent>(3), B<group>(5)"
1057 msgstr "B<endgrent>(3), B<fgetgrent>(3), B<getgrent>(3), B<getpwnam>(3), B<setgrent>(3), B<group>(5)"
1060 #: build/C/man3/getgrouplist.3:29
1062 msgid "GETGROUPLIST"
1063 msgstr "GETGROUPLIST"
1066 #: build/C/man3/getgrouplist.3:32
1067 msgid "getgrouplist - get list of groups to which a user belongs"
1068 msgstr "getgrouplist - ユーザーが所属するグループのリストを取得する"
1071 #: build/C/man3/getgrouplist.3:34 build/C/man3/putgrent.3:14
1072 msgid "B<#include E<lt>grp.hE<gt>>"
1073 msgstr "B<#include E<lt>grp.hE<gt>>"
1076 #: build/C/man3/getgrouplist.3:36
1077 msgid "B<int getgrouplist(const char *>I<user>B<, gid_t >I<group>B<,>"
1078 msgstr "B<int getgrouplist(const char *>I<user>B<, gid_t >I<group>B<,>"
1081 #: build/C/man3/getgrouplist.3:38
1082 msgid "B< gid_t *>I<groups>B<, int *>I<ngroups>B<);>"
1083 msgstr "B< gid_t *>I<groups>B<, int *>I<ngroups>B<);>"
1086 #: build/C/man3/getgrouplist.3:46
1087 msgid "B<getgrouplist>(): _BSD_SOURCE"
1088 msgstr "B<getgrouplist>(): _BSD_SOURCE"
1091 #: build/C/man3/getgrouplist.3:58
1092 msgid "The B<getgrouplist>() function scans the group database (see B<group>(5)) to obtain the list of groups that I<user> belongs to. Up to I<*ngroups> of these groups are returned in the array I<groups>."
1093 msgstr "B<getgrouplist>() 関数は、グループデータベース (B<group>(5) 参照) を調べて、 I<user> が所属するグループのリストを取得する。 見つかったグループのうち最大 I<*ngroups> 個のグループが、配列 I<groups> に格納されて返される。"
1096 #: build/C/man3/getgrouplist.3:68
1097 msgid "If it was not among the groups defined for I<user> in the group database, then I<group> is included in the list of groups returned by B<getgrouplist>(); typically this argument is specified as the group ID from the password record for I<user>."
1098 msgstr "引き数 I<group> がグループデータベースに I<user> が所属するグループがなかった場合、 B<getgrouplist>() が返すグループのリストに引き数 I<group> も追加される。 通常は、この引き数にはユーザー I<user> のパスワードレコードに書かれているグループ ID を指定する。"
1101 #: build/C/man3/getgrouplist.3:78
1102 msgid "The I<ngroups> argument is a value-result argument: on return it always contains the number of groups found for I<user>, including I<group>; this value may be greater than the number of groups stored in I<groups>."
1103 msgstr "引き数 I<ngroups> は、値渡しと結果の両方に使用される引き数 (value-result argument) であり、 リターン時には、常に I<group> も含めた I<user> が所属するグループ数が格納される。 この値は I<groups> に格納されたグループ数より大きくなる可能性がある。"
1106 #: build/C/man3/getgrouplist.3:86
1107 msgid "If the number of groups of which I<user> is a member is less than or equal to I<*ngroups>, then the value I<*ngroups> is returned."
1108 msgstr "I<user> が所属しているグループ数が I<*ngroups> 以下の場合、 I<*ngroups> の値が返される。"
1111 #: build/C/man3/getgrouplist.3:96
1112 msgid "If the user is a member of more than I<*ngroups> groups, then B<getgrouplist>() returns -1. In this case, the value returned in I<*ngroups> can be used to resize the buffer passed to a further call B<getgrouplist>()."
1113 msgstr "指定されたユーザーが I<*ngroups> より多くのグループに所属している場合、 B<getgrouplist>() は -1 を返す。 この場合、 I<*ngroups> で返される値を使って、バッファのサイズを変更してから、 B<getgrouplist>() をもう一度呼び出すことができる。"
1116 #: build/C/man3/getgrouplist.3:96
1122 #: build/C/man3/getgrouplist.3:98
1123 msgid "This function is present since glibc 2.2.4."
1124 msgstr "この関数は glibc 2.2.4 から存在する。"
1127 #: build/C/man3/getgrouplist.3:100
1128 msgid "This function is nonstandard; it appears on most BSDs."
1129 msgstr "この関数は非標準である。ほとんどの BSD に存在する。"
1132 #: build/C/man3/getgrouplist.3:100 build/C/man3/getpw.3:108
1133 #: build/C/man5/group.5:55
1139 #: build/C/man3/getgrouplist.3:109
1140 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<user> in the array I<groups>, even when the number of groups exceeds I<*ngroups>."
1141 msgstr "バージョン 2.3.3 より前の glibc では、 この関数の実装にはバッファオーバーフローのバグがあり、 I<user> が所属するグループ数が I<*ngroups> より多い場合であっても、 I<user> が所属するグループの全リストを配列 I<groups> に格納してしまう。"
1144 #: build/C/man3/getgrouplist.3:118
1145 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<ngroups> value to be supplied to B<getgrouplist>(). The following shell session shows examples of the use of this program:"
1146 msgstr "以下のプログラムは、一つ目のコマンドライン引き数で指定された名前のユーザー が所属するグループのリストを表示する。 二番目のコマンドライン引き数には、 B<getgrouplist>() に渡す I<ngroups> の値を指定する。 以下のシェルのセッションはこのプログラムの使用例を示したものである。"
1149 #: build/C/man3/getgrouplist.3:128
1152 "$B< ./a.out cecilia 0>\n"
1153 "getgrouplist() returned -1; ngroups = 3\n"
1154 "$B< ./a.out cecilia 3>\n"
1160 "$B< ./a.out cecilia 0>\n"
1161 "getgrouplist() returned -1; ngroups = 3\n"
1162 "$B< ./a.out cecilia 3>\n"
1169 #: build/C/man3/getgrouplist.3:130
1171 msgid "Program source"
1175 #: build/C/man3/getgrouplist.3:137
1178 "#include E<lt>stdio.hE<gt>\n"
1179 "#include E<lt>stdlib.hE<gt>\n"
1180 "#include E<lt>grp.hE<gt>\n"
1181 "#include E<lt>pwd.hE<gt>\n"
1183 "#include E<lt>stdio.hE<gt>\n"
1184 "#include E<lt>stdlib.hE<gt>\n"
1185 "#include E<lt>grp.hE<gt>\n"
1186 "#include E<lt>pwd.hE<gt>\n"
1189 #: build/C/man3/getgrouplist.3:145
1193 "main(int argc, char *argv[])\n"
1195 " int j, ngroups;\n"
1197 " struct passwd *pw;\n"
1198 " struct group *gr;\n"
1201 "main(int argc, char *argv[])\n"
1203 " int j, ngroups;\n"
1205 " struct passwd *pw;\n"
1206 " struct group *gr;\n"
1209 #: build/C/man3/getgrouplist.3:150
1212 " if (argc != 3) {\n"
1213 " fprintf(stderr, \"Usage: %s E<lt>userE<gt> E<lt>ngroupsE<gt>\\en\", argv[0]);\n"
1214 " exit(EXIT_FAILURE);\n"
1217 " if (argc != 3) {\n"
1218 " fprintf(stderr, \"Usage: %s E<lt>userE<gt> E<lt>ngroupsE<gt>\\en\", argv[0]);\n"
1219 " exit(EXIT_FAILURE);\n"
1223 #: build/C/man3/getgrouplist.3:152
1225 msgid " ngroups = atoi(argv[2]);\n"
1226 msgstr " ngroups = atoi(argv[2]);\n"
1229 #: build/C/man3/getgrouplist.3:158
1232 " groups = malloc(ngroups * sizeof (gid_t));\n"
1233 " if (groups == NULL) {\n"
1234 " perror(\"malloc\");\n"
1235 " exit(EXIT_FAILURE);\n"
1238 " groups = malloc(ngroups * sizeof (gid_t));\n"
1239 " if (groups == NULL) {\n"
1240 " perror(\"malloc\");\n"
1241 " exit(EXIT_FAILURE);\n"
1245 #: build/C/man3/getgrouplist.3:160
1247 msgid " /* Fetch passwd structure (contains first group ID for user) */\n"
1248 msgstr " /* Fetch passwd structure (contains first group ID for user) */\n"
1251 #: build/C/man3/getgrouplist.3:166
1254 " pw = getpwnam(argv[1]);\n"
1255 " if (pw == NULL) {\n"
1256 " perror(\"getpwnam\");\n"
1257 " exit(EXIT_SUCCESS);\n"
1260 " pw = getpwnam(argv[1]);\n"
1261 " if (pw == NULL) {\n"
1262 " perror(\"getpwnam\");\n"
1263 " exit(EXIT_SUCCESS);\n"
1267 #: build/C/man3/getgrouplist.3:168
1269 msgid " /* Retrieve group list */\n"
1270 msgstr " /* Retrieve group list */\n"
1273 #: build/C/man3/getgrouplist.3:174
1276 " if (getgrouplist(argv[1], pw-E<gt>pw_gid, groups, &ngroups) == -1) {\n"
1277 " fprintf(stderr, \"getgrouplist() returned -1; ngroups = %d\\en\",\n"
1279 " exit(EXIT_FAILURE);\n"
1282 " if (getgrouplist(argv[1], pw-E<gt>pw_gid, groups, &ngroups) == -1) {\n"
1283 " fprintf(stderr, \"getgrouplist() returned -1; ngroups = %d\\en\",\n"
1285 " exit(EXIT_FAILURE);\n"
1289 #: build/C/man3/getgrouplist.3:176
1291 msgid " /* Display list of retrieved groups, along with group names */\n"
1292 msgstr " /* Display list of retrieved groups, along with group names */\n"
1295 #: build/C/man3/getgrouplist.3:185
1298 " fprintf(stderr, \"ngroups = %d\\en\", ngroups);\n"
1299 " for (j = 0; j E<lt> ngroups; j++) {\n"
1300 " printf(\"%d\", groups[j]);\n"
1301 " gr = getgrgid(groups[j]);\n"
1302 " if (gr != NULL)\n"
1303 " printf(\" (%s)\", gr-E<gt>gr_name);\n"
1304 " printf(\"\\en\");\n"
1307 " fprintf(stderr, \"ngroups = %d\\en\", ngroups);\n"
1308 " for (j = 0; j E<lt> ngroups; j++) {\n"
1309 " printf(\"%d\", groups[j]);\n"
1310 " gr = getgrgid(groups[j]);\n"
1311 " if (gr != NULL)\n"
1312 " printf(\" (%s)\", gr-E<gt>gr_name);\n"
1313 " printf(\"\\en\");\n"
1317 #: build/C/man3/getgrouplist.3:188
1320 " exit(EXIT_SUCCESS);\n"
1323 " exit(EXIT_SUCCESS);\n"
1327 #: build/C/man3/getgrouplist.3:196
1328 msgid "B<getgroups>(2), B<setgroups>(2), B<getgrent>(3), B<group_member>(3), B<group>(5), B<passwd>(5)"
1329 msgstr "B<getgroups>(2), B<setgroups>(2), B<getgrent>(3), B<group_member>(3), B<group>(5), B<passwd>(5)"
1332 #: build/C/man3/getpw.3:32
1338 #: build/C/man3/getpw.3:35
1339 msgid "getpw - reconstruct password line entry"
1340 msgstr "getpw - パスワード行エントリを取得する"
1343 #: build/C/man3/getpw.3:40
1346 "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
1347 "B<#include E<lt>sys/types.hE<gt>>\n"
1348 "B<#include E<lt>pwd.hE<gt>>\n"
1350 "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */\n"
1351 "B<#include E<lt>sys/types.hE<gt>>\n"
1352 "B<#include E<lt>pwd.hE<gt>>\n"
1355 #: build/C/man3/getpw.3:42
1357 msgid "B<int getpw(uid_t >I<uid>B<, char *>I<buf>B<);>\n"
1358 msgstr "B<int getpw(uid_t >I<uid>B<, char *>I<buf>B<);>\n"
1361 #: build/C/man3/getpw.3:49
1362 msgid "The B<getpw>() function reconstructs the password line entry for the given user ID I<uid> in the buffer I<buf>. The returned buffer contains a line of format"
1363 msgstr "B<getpw>() 関数は、バッファ I<buf> に指定ユーザー ID I<uid> の パスワード行エントリを取得する。 返されるバッファは、以下の形式の行を含む。"
1366 #: build/C/man3/getpw.3:52
1367 msgid "B<name:passwd:uid:gid:gecos:dir:shell>"
1368 msgstr "B<name:passwd:uid:gid:gecos:dir:shell>"
1371 #: build/C/man3/getpw.3:67 build/C/man3/getpwent.3:98
1372 #: build/C/man3/getpwnam.3:102
1376 " char *pw_name; /* username */\n"
1377 " char *pw_passwd; /* user password */\n"
1378 " uid_t pw_uid; /* user ID */\n"
1379 " gid_t pw_gid; /* group ID */\n"
1380 " char *pw_gecos; /* user information */\n"
1381 " char *pw_dir; /* home directory */\n"
1382 " char *pw_shell; /* shell program */\n"
1386 " char *pw_name; /* ユーザー名 */\n"
1387 " char *pw_passwd; /* ユーザーのパスワード */\n"
1388 " uid_t pw_uid; /* ユーザー ID */\n"
1389 " gid_t pw_gid; /* グループ ID */\n"
1390 " char *pw_gecos; /* ユーザー情報 */\n"
1391 " char *pw_dir; /* ホームディレクトリ */\n"
1392 " char *pw_shell; /* シェルプログラム */\n"
1396 #: build/C/man3/getpw.3:72 build/C/man3/getpwent.3:103
1397 #: build/C/man3/getpwent_r.3:84
1398 msgid "For more information about the fields of this structure, see B<passwd>(5)."
1399 msgstr "この構造体のフィールドの詳細は B<passwd>(5) を参照のこと。"
1402 #: build/C/man3/getpw.3:78
1403 msgid "The B<getpw>() function returns 0 on success; on error, it returns -1, and I<errno> is set to indicate the error."
1404 msgstr "B<getpw>() 関数は、成功した場合 0 を返す; エラーが発生した場合 -1 を返し、エラーを 示すために I<errno> がセットされる。"
1407 #: build/C/man3/getpw.3:88
1408 msgid "If I<uid> is not found in the password database, B<getpw>() returns -1, sets I<errno> to 0, and leaves I<buf> unchanged."
1409 msgstr "I<uid> がパスワードデータベースに見つからない場合、 B<getpw>() は -1 を返し、 I<errno> に 0 を設定し、 I<buf> は変更しない。"
1412 #: build/C/man3/getpw.3:89
1414 msgid "B<0> or B<ENOENT>"
1415 msgstr "B<0> または B<ENOENT>"
1418 #: build/C/man3/getpw.3:93
1419 msgid "No user corresponding to I<uid>."
1420 msgstr "I<uid> に対応するユーザーがいない。"
1423 #: build/C/man3/getpw.3:93 build/C/man3/putpwent.3:79
1429 #: build/C/man3/getpw.3:97
1430 msgid "I<buf> is NULL."
1431 msgstr "I<buf> が NULL。"
1434 #: build/C/man3/getpw.3:108
1439 #: build/C/man3/getpw.3:115
1440 msgid "The B<getpw>() function is dangerous as it may overflow the provided buffer I<buf>. It is obsoleted by B<getpwuid>(3)."
1441 msgstr "B<getpw>() 関数は、与えられたバッファ I<buf> がオーバーフローするかもしれないので危険である。 この関数は B<getpwuid>(3) によって古いものとなった。"
1444 #: build/C/man3/getpw.3:124
1445 msgid "B<endpwent>(3), B<fgetpwent>(3), B<getpwent>(3), B<getpwnam>(3), B<getpwuid>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
1446 msgstr "B<endpwent>(3), B<fgetpwent>(3), B<getpwent>(3), B<getpwnam>(3), B<getpwuid>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
1449 #: build/C/man3/getpwent.3:33
1455 #: build/C/man3/getpwent.3:33
1461 #: build/C/man3/getpwent.3:36
1462 msgid "getpwent, setpwent, endpwent - get password file entry"
1463 msgstr "getpwent, setpwent, endpwent - パスワードファイルのエントリの取得"
1466 #: build/C/man3/getpwent.3:40 build/C/man3/getpwnam.3:44
1469 "B<#include E<lt>sys/types.hE<gt>>\n"
1470 "B<#include E<lt>pwd.hE<gt>>\n"
1472 "B<#include E<lt>sys/types.hE<gt>>\n"
1473 "B<#include E<lt>pwd.hE<gt>>\n"
1476 #: build/C/man3/getpwent.3:42
1478 msgid "B<struct passwd *getpwent(void);>\n"
1479 msgstr "B<struct passwd *getpwent(void);>\n"
1482 #: build/C/man3/getpwent.3:44
1484 msgid "B<void setpwent(void);>\n"
1485 msgstr "B<void setpwent(void);>\n"
1488 #: build/C/man3/getpwent.3:46
1490 msgid "B<void endpwent(void);>\n"
1491 msgstr "B<void endpwent(void);>\n"
1494 #: build/C/man3/getpwent.3:57
1495 msgid "B<getpwent>(), B<setpwent>(), B<endpwent>():"
1496 msgstr "B<getpwent>(), B<setpwent>(), B<endpwent>():"
1499 #: build/C/man3/getpwent.3:60
1500 msgid "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
1501 msgstr "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
1504 #: build/C/man3/getpwent.3:74
1505 msgid "The B<getpwent>() 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</etc/passwd>, NIS, and LDAP). The first time B<getpwent>() is called, it returns the first entry; thereafter, it returns successive entries."
1506 msgstr "B<getpwent>() 関数は、パスワードデータベースから取得したエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返す (パスワードデータベースの例: ローカルのパスワードファイル I</etc/passwd>, NIS, LDAP)。 B<getpwent>() は、最初に呼び出された時は最初のエントリを返し、それ以降は 呼び出される毎に次のエントリを返す。"
1509 #: build/C/man3/getpwent.3:79
1510 msgid "The B<setpwent>() function rewinds to the beginning of the password database."
1511 msgstr "B<setpwent>() 関数を使うと、パスワードデータベースの先頭に戻る。"
1514 #: build/C/man3/getpwent.3:84
1515 msgid "The B<endpwent>() function is used to close the password database after all processing has been performed."
1516 msgstr "B<endpwent>() 関数は、全ての処理が終わった後にパスワード データベースをクローズする。"
1519 #: build/C/man3/getpwent.3:116
1520 msgid "The B<getpwent>() function returns a pointer to a I<passwd> structure, or NULL if there are no more entries or an error occurred. If an error occurs, I<errno> is set appropriately. If one wants to check I<errno> after the call, it should be set to zero before the call."
1521 msgstr "B<getpwent>() 関数は I<passwd> 構造体へのポインタを返す。 これ以上エントリが無いか、エラーが発生した場合は NULL を返す。 エラーが発生すると、 I<errno> が適切に設定される。 この関数の呼び出し後に I<errno> をチェックしたい場合は、呼び出し前に I<errno> を 0 に設定しておかないといけない。"
1524 #: build/C/man3/getpwent.3:125
1525 msgid "The return value may point to a static area, and may be overwritten by subsequent calls to B<getpwent>(), B<getpwnam>(3), or B<getpwuid>(3). (Do not pass the returned pointer to B<free>(3).)"
1526 msgstr "返り値は静的な領域を指しており、その後の B<getpwent>(), B<getpwnam>(3), B<getpwuid>(3) の呼び出しで上書きされるかもしれない。 (返されたポインタを B<free>(3) に渡さないこと。)"
1529 #: build/C/man3/getpwent.3:154 build/C/man3/getpwnam.3:217
1530 msgid "local password database file"
1531 msgstr "ローカルのパスワードデータベースファイル"
1534 #: build/C/man3/getpwent.3:159
1535 msgid "The B<getpwent>() function is not thread-safe."
1536 msgstr "B<getpwent>() 関数はスレッドセーフではない。"
1539 #: build/C/man3/getpwent.3:165
1540 msgid "The B<setpwent>() and B<endpwent>() functions are thread-safe."
1541 msgstr "関数 B<setpwent>() と B<endpwent>() はスレッドセーフである。"
1544 #: build/C/man3/getpwent.3:170 build/C/man3/getpwnam.3:235
1545 msgid "SVr4, 4.3BSD, POSIX.1-2001. The I<pw_gecos> field is not specified in POSIX, but is present on most implementations."
1546 msgstr "SVr4, 4.3BSD, POSIX.1-2001. I<pw_gecos> フィールドは POSIX では規定されていないが、 ほとんどの実装に存在する。"
1549 #: build/C/man3/getpwent.3:178
1550 msgid "B<fgetpwent>(3), B<getpw>(3), B<getpwent_r>(3), B<getpwnam>(3), B<getpwuid>(3), B<putpwent>(3), B<passwd>(5)"
1551 msgstr "B<fgetpwent>(3), B<getpw>(3), B<getpwent_r>(3), B<getpwnam>(3), B<getpwuid>(3), B<putpwent>(3), B<passwd>(5)"
1554 #: build/C/man3/getpwent_r.3:24
1560 #: build/C/man3/getpwent_r.3:27
1561 msgid "getpwent_r, fgetpwent_r - get passwd file entry reentrantly"
1562 msgstr "getpwent_r, fgetpwent_r - パスワードファイルのエントリを リエントラントで取り出す"
1565 #: build/C/man3/getpwent_r.3:30
1567 msgid "B<#include E<lt>pwd.hE<gt>>\n"
1568 msgstr "B<#include E<lt>pwd.hE<gt>>\n"
1571 #: build/C/man3/getpwent_r.3:32
1573 msgid "B<int getpwent_r(struct passwd *>I<pwbuf>B<, char *>I<buf>B<,>\n"
1574 msgstr "B<int getpwent_r(struct passwd *>I<pwbuf>B<, char *>I<buf>B<,>\n"
1577 #: build/C/man3/getpwent_r.3:34
1579 msgid "B< size_t >I<buflen>B<, struct passwd **>I<pwbufp>B<);>\n"
1580 msgstr "B< size_t >I<buflen>B<, struct passwd **>I<pwbufp>B<);>\n"
1583 #: build/C/man3/getpwent_r.3:36
1585 msgid "B<int fgetpwent_r(FILE *>I<stream>B<, struct passwd *>I<pwbuf>B<, char *>I<buf>B<,>\n"
1586 msgstr "B<int fgetpwent_r(FILE *>I<stream>B<, struct passwd *>I<pwbuf>B<, char *>I<buf>B<,>\n"
1589 #: build/C/man3/getpwent_r.3:38
1591 msgid "B< size_t >I<buflen>B<, struct passwd **>I<pwbufp>B<);>\n"
1592 msgstr "B< size_t >I<buflen>B<, struct passwd **>I<pwbufp>B<);>\n"
1595 #: build/C/man3/getpwent_r.3:47
1596 msgid "B<getpwent_r>(), _BSD_SOURCE || _SVID_SOURCE"
1597 msgstr "B<getpwent_r>(), _BSD_SOURCE || _SVID_SOURCE"
1600 #: build/C/man3/getpwent_r.3:50
1601 msgid "B<fgetpwent_r>(): _SVID_SOURCE"
1602 msgstr "B<fgetpwent_r>(): _SVID_SOURCE"
1605 #: build/C/man3/getpwent_r.3:63
1606 msgid "The functions B<getpwent_r>() and B<fgetpwent_r>() are the reentrant versions of B<getpwent>(3) and B<fgetpwent>(3). The former reads the next passwd entry from the stream initialized by B<setpwent>(3). The latter reads the next passwd entry from I<stream>."
1607 msgstr "関数 B<getpwent_r>() と B<fgetpwent_r>() は B<getpwent>(3) と B<fgetpwent>(3) のリエントラント (reentrant) 版である。 前者は、 B<setpwent>(3) によって初期化されたストリームから、次のパスワードエントリを読み込む。 後者は、 I<stream> から次のパスワードエントリを読み込む。"
1610 #: build/C/man3/getpwent_r.3:79
1614 " char *pw_name; /* username */\n"
1615 " char *pw_passwd; /* user password */\n"
1616 " uid_t pw_uid; /* user ID */\n"
1617 " gid_t pw_gid; /* group ID */\n"
1618 " char *pw_gecos; /* user information */\n"
1619 " char *pw_dir; /* home directory */\n"
1620 " char *pw_shell; /* shell program */\n"
1624 " char *pw_name; /* ユーザー名 */\n"
1625 " char *pw_passwd; /* ユーザーのパスワード */\n"
1626 " uid_t pw_uid; /* ユーザー ID */\n"
1627 " gid_t pw_gid; /* グループ ID */\n"
1628 " char *pw_gecos; /* ユーザー情報 */\n"
1629 " char *pw_dir; /* ホームディレクトリ */\n"
1630 " char *pw_shell; /* シェルプログラム */\n"
1634 #: build/C/man3/getpwent_r.3:103
1635 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<pwbuf> that can hold a I<struct passwd>. And next the buffer I<buf> of size I<buflen> that can hold additional strings. The result of these functions, the I<struct passwd> read from the stream, is stored in the provided buffer I<*pwbuf>, and a pointer to this I<struct passwd> is returned in I<*pwbufp>."
1636 msgstr "リエントラントでない関数は静的な格納領域へのポインタを返す。 この静的な格納領域には、更にユーザー名・パスワード・gecos フィールド・ ホームディレクトリ・シェルへのポインタが含まれる。 ここで説明されているリエントラント版の関数は、 呼び出し側から提供されるバッファにユーザー名など全てを返す。 最初の引き数として I<struct passwd> を保持できるバッファ I<pwbuf> がある。 次にその他の文字列を保持できるサイズ I<buflen> のバッファ I<buf> がある。 これらの関数の結果 (ストリームから読み込まれた I<struct passwd>) は、 提供されたバッファ I<*pwbuf> に格納され、この I<struct passwd> へのポインタは I<*pwbufp> に返される。"
1639 #: build/C/man3/getpwent_r.3:110
1640 msgid "On success, these functions return 0 and I<*pwbufp> is a pointer to the I<struct passwd>. On error, these functions return an error value and I<*pwbufp> is NULL."
1641 msgstr "成功した場合、これらの関数は 0 を返し、 I<*pwbufp> は I<struct passwd> へのポインタとなる。 エラーの場合、これらの関数はエラー値を返し、 I<*pwbufp> は NULL になる。"
1644 #: build/C/man3/getpwent_r.3:128
1648 "getpwent_r(struct passwd *pwd, char *buf, int buflen);\n"
1651 "getpwent_r(struct passwd *pwd, char *buf, int buflen);\n"
1654 #: build/C/man3/getpwent_r.3:138
1658 "getpwent_r(struct passwd *pwd, char *buf, int buflen,\n"
1662 "getpwent_r(struct passwd *pwd, char *buf, int buflen,\n"
1666 #: build/C/man3/getpwent_r.3:145
1667 msgid "The function B<getpwent_r>() is not really reentrant since it shares the reading position in the stream with all other threads."
1668 msgstr "関数 B<getpwent_r>() は本当のリエントラントではない。 なぜなら、ストリームの読み込み位置を 他の全てのスレッドと共有しているためである。"
1671 #: build/C/man3/getpwent_r.3:151
1674 "#define _GNU_SOURCE\n"
1675 "#include E<lt>pwd.hE<gt>\n"
1676 "#include E<lt>stdio.hE<gt>\n"
1677 "#define BUFLEN 4096\n"
1679 "#define _GNU_SOURCE\n"
1680 "#include E<lt>pwd.hE<gt>\n"
1681 "#include E<lt>stdio.hE<gt>\n"
1682 "#define BUFLEN 4096\n"
1685 #: build/C/man3/getpwent_r.3:158
1691 " struct passwd pw, *pwp;\n"
1692 " char buf[BUFLEN];\n"
1698 " struct passwd pw, *pwp;\n"
1699 " char buf[BUFLEN];\n"
1703 #: build/C/man3/getpwent_r.3:170
1708 " i = getpwent_r(&pw, buf, BUFLEN, &pwp);\n"
1711 " printf(\"%s (%d)\\etHOME %s\\etSHELL %s\\en\", pwp-E<gt>pw_name,\n"
1712 " pwp-E<gt>pw_uid, pwp-E<gt>pw_dir, pwp-E<gt>pw_shell);\n"
1715 " exit(EXIT_SUCCESS);\n"
1720 " i = getpwent_r(&pw, buf, BUFLEN, &pwp);\n"
1723 " printf(\"%s (%d)\\etHOME %s\\etSHELL %s\\en\", pwp-E<gt>pw_name,\n"
1724 " pwp-E<gt>pw_uid, pwp-E<gt>pw_dir, pwp-E<gt>pw_shell);\n"
1727 " exit(EXIT_SUCCESS);\n"
1731 #: build/C/man3/getpwent_r.3:188
1732 msgid "B<fgetpwent>(3), B<getpw>(3), B<getpwent>(3), B<getpwnam>(3), B<getpwuid>(3), B<putpwent>(3), B<passwd>(5)"
1733 msgstr "B<fgetpwent>(3), B<getpw>(3), B<getpwent>(3), B<getpwnam>(3), B<getpwuid>(3), B<putpwent>(3), B<passwd>(5)"
1736 #: build/C/man3/getpwnam.3:37
1742 #: build/C/man3/getpwnam.3:37
1748 #: build/C/man3/getpwnam.3:40
1749 msgid "getpwnam, getpwnam_r, getpwuid, getpwuid_r - get password file entry"
1750 msgstr "getpwnam, getpwnam_r, getpwuid, getpwuid_r - パスワードファイルのエントリの取得"
1753 #: build/C/man3/getpwnam.3:46
1755 msgid "B<struct passwd *getpwnam(const char *>I<name>B<);>\n"
1756 msgstr "B<struct passwd *getpwnam(const char *>I<name>B<);>\n"
1759 #: build/C/man3/getpwnam.3:48
1761 msgid "B<struct passwd *getpwuid(uid_t >I<uid>B<);>\n"
1762 msgstr "B<struct passwd *getpwuid(uid_t >I<uid>B<);>\n"
1765 #: build/C/man3/getpwnam.3:50
1767 msgid "B<int getpwnam_r(const char *>I<name>B<, struct passwd *>I<pwd>B<,>\n"
1768 msgstr "B<int getpwnam_r(const char *>I<name>B<, struct passwd *>I<pwd>B<,>\n"
1771 #: build/C/man3/getpwnam.3:52 build/C/man3/getpwnam.3:56
1773 msgid "B< char *>I<buf>B<, size_t >I<buflen>B<, struct passwd **>I<result>B<);>\n"
1774 msgstr "B< char *>I<buf>B<, size_t >I<buflen>B<, struct passwd **>I<result>B<);>\n"
1777 #: build/C/man3/getpwnam.3:54
1779 msgid "B<int getpwuid_r(uid_t >I<uid>B<, struct passwd *>I<pwd>B<,>\n"
1780 msgstr "B<int getpwuid_r(uid_t >I<uid>B<, struct passwd *>I<pwd>B<,>\n"
1783 #: build/C/man3/getpwnam.3:66
1784 msgid "B<getpwnam_r>(), B<getpwuid_r>():"
1785 msgstr "B<getpwnam_r>(), B<getpwuid_r>():"
1788 #: build/C/man3/getpwnam.3:81
1789 msgid "The B<getpwnam>() 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</etc/passwd>, NIS, and LDAP) that matches the username I<name>."
1790 msgstr "B<getpwnam>() 関数は、ユーザー名 I<name> にマッチするパスワードデータベースのエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返す (パスワードデータベースの例: ローカルのパスワードファイル I</etc/passwd>, NIS, LDAP)。"
1793 #: build/C/man3/getpwnam.3:88
1794 msgid "The B<getpwuid>() 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<uid>."
1795 msgstr "B<getpwuid>() 関数は、ユーザー ID I<uid> にマッチするパスワードデータベースのエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返す。"
1798 #: build/C/man3/getpwnam.3:108
1799 msgid "See B<passwd>(5) for more information about these fields."
1800 msgstr "これらのフィールドの詳しい情報については B<passwd>(5) を参照のこと。"
1803 #: build/C/man3/getpwnam.3:130
1804 msgid "The B<getpwnam_r>() and B<getpwuid_r>() functions obtain the same information as B<getpwnam>() and B<getpwuid>(), but store the retrieved I<passwd> structure in the space pointed to by I<pwd>. The string fields pointed to by the members of the I<passwd> structure are stored in the buffer I<buf> of size I<buflen>. 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>."
1806 "B<getpwnam_r>() と B<getpwuid_r>() 関数は、それぞれB<getpwnam>() と\n"
1807 "B<getpwuid>() と同じ情報を取得するが、取得した I<passwd> 構造体を\n"
1808 "I<pwd> が指す領域に格納する。I<passwd> 構造体のメンバーが指す文字列は、\n"
1809 "サイズ I<buflen> のバッファ I<buf> に格納される。成功した場合\n"
1810 "I<*result> には結果へのポインタが格納される。エントリが見つからなかった\n"
1811 "場合やエラーが発生した場合には I<*result> には NULL が入る。"
1814 #: build/C/man3/getpwnam.3:134
1816 msgid " sysconf(_SC_GETPW_R_SIZE_MAX)\n"
1817 msgstr " sysconf(_SC_GETPW_R_SIZE_MAX)\n"
1820 #: build/C/man3/getpwnam.3:158
1821 msgid "The B<getpwnam>() and B<getpwuid>() functions return a pointer to a I<passwd> structure, or NULL if the matching entry is not found or an error occurs. If an error occurs, I<errno> is set appropriately. If one wants to check I<errno> after the call, it should be set to zero before the call."
1822 msgstr "B<getpwnam>() と B<getpwuid>() 関数は、 I<passwd> 構造体へのポインタを返す。 一致するエントリが見つからなかった場合や、エラーが発生した場合は NULL を返す。 エラーが起こった場合、 I<errno> が適切に設定される。 呼び出しの後で I<errno> をチェックしたい場合は、 呼び出しの前に (この値を) 0 に設定しておくべきである。"
1825 #: build/C/man3/getpwnam.3:167
1826 msgid "The return value may point to a static area, and may be overwritten by subsequent calls to B<getpwent>(3), B<getpwnam>(), or B<getpwuid>(). (Do not pass the returned pointer to B<free>(3).)"
1827 msgstr "返り値は静的な領域を指しており、その後の B<getpwent>(3), B<getpwnam>(), B<getpwuid>() の呼び出しで上書きされるかもしれない。 (返されたポインタを B<free>(3) に渡さないこと。)"
1830 #: build/C/man3/getpwnam.3:181
1831 msgid "On success, B<getpwnam_r>() and B<getpwuid_r>() return zero, and set I<*result> to I<pwd>. 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>."
1832 msgstr "成功すると、 B<getpwnam_r>() と B<getpwuid_r>() は 0 を返し、 I<*result> に I<pwd> を設定する。 マッチするパスワードエントリが見つからなかった場合には、 0 を返し、 I<*result> に NULL を設定する。 エラーの場合、エラー番号を返し、 I<*result> に NULL を設定する。"
1835 #: build/C/man3/getpwnam.3:189
1836 msgid "The given I<name> or I<uid> was not found."
1837 msgstr "指定された I<name> または I<uid> が見つからなかった。"
1840 #: build/C/man3/getpwnam.3:224
1841 msgid "The B<getpwnam>() and B<getpwuid>() functions are not thread-safe."
1842 msgstr "関数 B<getpwnam>() と B<getpwuid>() はスレッドセーフではない。"
1845 #: build/C/man3/getpwnam.3:230
1846 msgid "The B<getpwnam_r>() and B<getpwuid_r>() functions are thread-safe."
1847 msgstr "関数 B<getpwnam_r>() と B<getpwuid_r>() はスレッドセーフである。"
1850 #. AIX 5.1 - gives ESRCH
1851 #. OSF1 4.0g - gives EWOULDBLOCK
1852 #. libc, glibc up to version 2.6, Irix 6.5 - give ENOENT
1853 #. glibc since version 2.7 - give 0
1854 #. FreeBSD 4.8, OpenBSD 3.2, NetBSD 1.6 - give EPERM
1855 #. SunOS 5.8 - gives EBADF
1856 #. Tru64 5.1b, HP-UX-11i, SunOS 5.7 - give 0
1858 #: build/C/man3/getpwnam.3:256
1859 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<errno> might have in this situation. But that makes it impossible to recognize errors. One might argue that according to POSIX I<errno> 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."
1860 msgstr "上記の「返り値」以下の記述は POSIX.1-2001 に拠る。 この標準は「(エントリが) 見つからないこと」をエラーとしていないので、 そのような場合に I<errno> がどのような値になるかを定めていない。 そのため、エラーを認識することは不可能である。 POSIX に準拠して、エントリが見つからない場合は I<errno> を変更しないようにすべきである、と主張する人もいるかもしれない。 様々な UNIX 系のシステムで試してみると、そのような場合には 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM といった様々な値が返される。 他の値が返されるかもしれない。"
1863 #: build/C/man3/getpwnam.3:274
1864 msgid "The I<pw_dir> field contains the name of the initial working directory of the user. Login programs use the value of this field to initialize the B<HOME> environment variable for the login shell. An application that wants to determine its user's home directory should inspect the value of B<HOME> (rather than the value I<getpwuid(getuid())-E<gt>pw_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 I<getpwnam(\"username\")-E<gt>pw_dir> or similar."
1865 msgstr "フィールド I<pw_dir> には、ユーザーの作業ディレクトリ名の初期値が格納される。 ログインプロセスは、このフィールドの値を使って、 ログインシェルの B<HOME> 環境変数を初期化する。 アプリケーションが、ユーザーのホームディレクトリを決定する場合には、 (I<getpwuid(getuid())-E<gt>pw_dir> の値ではなく) B<HOME> の値を検査するようにすべきである。 なぜなら、このようにすることで、ユーザーがログインセッション中で 「ホームディレクトリ」の意味を変更できるようになるからである。 別のユーザーのホームディレクトリ (の初期値) を知るには I<getpwnam(\"username\")-E<gt>pw_dir> か同様の方法を使う必要がある。"
1868 #: build/C/man3/getpwnam.3:279
1869 msgid "The program below demonstrates the use of B<getpwnam_r>() to find the full username and user ID for the username supplied as a command-line argument."
1870 msgstr "以下のプログラムは B<getpwnam_r>() の使用例を示したもので、コマンドライン引き数で渡されたユーザー名に対する 完全なユーザー名とユーザー ID を探すものである。"
1873 #: build/C/man3/getpwnam.3:286
1876 "#include E<lt>pwd.hE<gt>\n"
1877 "#include E<lt>stdio.hE<gt>\n"
1878 "#include E<lt>stdlib.hE<gt>\n"
1879 "#include E<lt>unistd.hE<gt>\n"
1880 "#include E<lt>errno.hE<gt>\n"
1882 "#include E<lt>pwd.hE<gt>\n"
1883 "#include E<lt>stdio.hE<gt>\n"
1884 "#include E<lt>stdlib.hE<gt>\n"
1885 "#include E<lt>unistd.hE<gt>\n"
1886 "#include E<lt>errno.hE<gt>\n"
1889 #: build/C/man3/getpwnam.3:295
1893 "main(int argc, char *argv[])\n"
1895 " struct passwd pwd;\n"
1896 " struct passwd *result;\n"
1898 " size_t bufsize;\n"
1902 "main(int argc, char *argv[])\n"
1904 " struct passwd pwd;\n"
1905 " struct passwd *result;\n"
1907 " size_t bufsize;\n"
1911 #: build/C/man3/getpwnam.3:300
1914 " if (argc != 2) {\n"
1915 " fprintf(stderr, \"Usage: %s username\\en\", argv[0]);\n"
1916 " exit(EXIT_FAILURE);\n"
1919 " if (argc != 2) {\n"
1920 " fprintf(stderr, \"Usage: %s username\\en\", argv[0]);\n"
1921 " exit(EXIT_FAILURE);\n"
1925 #: build/C/man3/getpwnam.3:304
1928 " bufsize = sysconf(_SC_GETPW_R_SIZE_MAX);\n"
1929 " if (bufsize == -1) /* Value was indeterminate */\n"
1930 " bufsize = 16384; /* Should be more than enough */\n"
1932 " bufsize = sysconf(_SC_GETPW_R_SIZE_MAX);\n"
1933 " if (bufsize == -1) /* 値を決定できなかった */\n"
1934 " bufsize = 16384; /* 十分大きな値にすべき */\n"
1937 #: build/C/man3/getpwnam.3:310
1940 " buf = malloc(bufsize);\n"
1941 " if (buf == NULL) {\n"
1942 " perror(\"malloc\");\n"
1943 " exit(EXIT_FAILURE);\n"
1946 " buf = malloc(bufsize);\n"
1947 " if (buf == NULL) {\n"
1948 " perror(\"malloc\");\n"
1949 " exit(EXIT_FAILURE);\n"
1953 #: build/C/man3/getpwnam.3:321
1956 " s = getpwnam_r(argv[1], &pwd, buf, bufsize, &result);\n"
1957 " if (result == NULL) {\n"
1959 " printf(\"Not found\\en\");\n"
1962 " perror(\"getpwnam_r\");\n"
1964 " exit(EXIT_FAILURE);\n"
1967 " s = getpwnam_r(argv[1], &pwd, buf, bufsize, &result);\n"
1968 " if (result == NULL) {\n"
1970 " printf(\"Not found\\en\");\n"
1973 " perror(\"getpwnam_r\");\n"
1975 " exit(EXIT_FAILURE);\n"
1979 #: build/C/man3/getpwnam.3:325
1982 " printf(\"Name: %s; UID: %ld\\en\", pwd.pw_gecos, (long) pwd.pw_uid);\n"
1983 " exit(EXIT_SUCCESS);\n"
1986 " printf(\"Name: %s; UID: %ld\\en\", pwd.pw_gecos, (long) pwd.pw_uid);\n"
1987 " exit(EXIT_SUCCESS);\n"
1991 #: build/C/man3/getpwnam.3:336
1992 msgid "B<endpwent>(3), B<fgetpwent>(3), B<getgrnam>(3), B<getpw>(3), B<getpwent>(3), B<getspnam>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
1993 msgstr "B<endpwent>(3), B<fgetpwent>(3), B<getgrnam>(3), B<getpw>(3), B<getpwent>(3), B<getspnam>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
1996 #: build/C/man3/getspnam.3:8
2002 #: build/C/man3/getspnam.3:13
2003 msgid "getspnam, getspnam_r, getspent, getspent_r, setspent, endspent, fgetspent, fgetspent_r, sgetspent, sgetspent_r, putspent, lckpwdf, ulckpwdf - get shadow password file entry"
2004 msgstr "getspnam, getspnam_r, getspent, getspent_r, setspent, endspent,fgetspent, fgetspent_r, sgetspent, sgetspent_r, putspent, lckpwdf, ulckpwdf - shadow パスワードファイルのエントリを取得する"
2007 #: build/C/man3/getspnam.3:16
2009 msgid "/* General shadow password file API */\n"
2010 msgstr "/* 一般的な shadow パスワードファイル API */\n"
2013 #: build/C/man3/getspnam.3:18 build/C/man3/getspnam.3:40
2015 msgid "B<#include E<lt>shadow.hE<gt>>\n"
2016 msgstr "B<#include E<lt>shadow.hE<gt>>\n"
2019 #: build/C/man3/getspnam.3:20
2021 msgid "B<struct spwd *getspnam(const char *>I<name>B<);>\n"
2022 msgstr "B<struct spwd *getspnam(const char *>I<name>B<);>\n"
2025 #: build/C/man3/getspnam.3:22
2027 msgid "B<struct spwd *getspent(void);>\n"
2028 msgstr "B<struct spwd *getspent(void);>\n"
2031 #: build/C/man3/getspnam.3:24
2033 msgid "B<void setspent(void);>\n"
2034 msgstr "B<void setspent(void);>\n"
2037 #: build/C/man3/getspnam.3:26
2039 msgid "B<void endspent(void);>\n"
2040 msgstr "B<void endspent(void);>\n"
2043 #: build/C/man3/getspnam.3:28
2045 msgid "B<struct spwd *fgetspent(FILE *>I<stream>B<);>\n"
2046 msgstr "B<struct spwd *fgetspent(FILE *>I<stream>B<);>\n"
2049 #: build/C/man3/getspnam.3:30
2051 msgid "B<struct spwd *sgetspent(const char *>I<s>B<);>\n"
2052 msgstr "B<struct spwd *sgetspent(const char *>I<s>B<);>\n"
2055 #: build/C/man3/getspnam.3:32
2057 msgid "B<int putspent(const struct spwd *>I<p>B<, FILE *>I<stream>B<);>\n"
2058 msgstr "B<int putspent(const struct spwd *>I<p>B<, FILE *>I<stream>B<);>\n"
2061 #: build/C/man3/getspnam.3:34
2063 msgid "B<int lckpwdf(void);>\n"
2064 msgstr "B<int lckpwdf(void);>\n"
2067 #: build/C/man3/getspnam.3:36
2069 msgid "B<int ulckpwdf(void);>\n"
2070 msgstr "B<int ulckpwdf(void);>\n"
2073 #: build/C/man3/getspnam.3:38
2075 msgid "/* GNU extension */\n"
2076 msgstr "/* GNU 版における拡張 */\n"
2079 #: build/C/man3/getspnam.3:42
2081 msgid "B<int getspent_r(struct spwd *>I<spbuf>B<,>\n"
2082 msgstr "B<int getspent_r(struct spwd *>I<spbuf>B<,>\n"
2085 #: build/C/man3/getspnam.3:44 build/C/man3/getspnam.3:48
2086 #: build/C/man3/getspnam.3:52 build/C/man3/getspnam.3:56
2088 msgid "B< char *>I<buf>B<, size_t >I<buflen>B<, struct spwd **>I<spbufp>B<);>\n"
2089 msgstr "B< char *>I<buf>B<, size_t >I<buflen>B<, struct spwd **>I<spbufp>B<);>\n"
2092 #: build/C/man3/getspnam.3:46
2094 msgid "B<int getspnam_r(const char *>I<name>B<, struct spwd *>I<spbuf>B<,>\n"
2095 msgstr "B<int getspnam_r(const char *>I<name>B<, struct spwd *>I<spbuf>B<,>\n"
2098 #: build/C/man3/getspnam.3:50
2100 msgid "B<int fgetspent_r(FILE *>I<stream>B<, struct spwd *>I<spbuf>B<,>\n"
2101 msgstr "B<int fgetspent_r(FILE *>I<stream>B<, struct spwd *>I<spbuf>B<,>\n"
2104 #: build/C/man3/getspnam.3:54
2106 msgid "B<int sgetspent_r(const char *>I<s>B<, struct spwd *>I<spbuf>B<,>\n"
2107 msgstr "B<int sgetspent_r(const char *>I<s>B<, struct spwd *>I<spbuf>B<,>\n"
2110 #: build/C/man3/getspnam.3:68
2111 msgid "B<getspent_r>(), B<getspnam_r>(), B<fgetspent_r>(), B<sgetspent_r>():"
2112 msgstr "B<getspent_r>(), B<getspnam_r>(), B<fgetspent_r>(), B<sgetspent_r>():"
2115 #: build/C/man3/getspnam.3:70
2116 msgid "_BSD_SOURCE || _SVID_SOURCE"
2117 msgstr "_BSD_SOURCE || _SVID_SOURCE"
2120 #: build/C/man3/getspnam.3:84
2121 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</etc/shadow>, NIS, and LDAP), readable only by root."
2122 msgstr "昔は暗号化されたパスワードをパスワードファイルに 見えるように公開しておいても安全だと考えられていた。 Julianne Frances Haugh は shadow パスワードスイートを実装した。 これは暗号化されたパスワードを、root のみが読むことができる shadow パスワードデータベース (例えば、 ローカルの shadow パスワードファイル I</etc/shadow>, NIS, LDAP) に保持する。"
2124 #. FIXME . I've commented out the following for the
2125 #. moment. The relationship between PAM and nsswitch.conf needs
2126 #. to be clearly documented in one place, which is pointed to by
2127 #. the pages for the user, group, and shadow password functions.
2129 #. This shadow password setup has been superseded by PAM
2130 #. (pluggable authentication modules), and the file
2131 #. .I /etc/nsswitch.conf
2132 #. now describes the sources to be used.
2134 #: build/C/man3/getspnam.3:101
2135 msgid "The functions described below resemble those for the traditional password database (e.g., see B<getpwnam>(3) and B<getpwent>(3))."
2136 msgstr "以下で説明する関数は、伝統的なパスワードデータベースに対する 関数に似ている (例えば B<getpwnam>(3) や B<getpwent>(3) を参照)。"
2139 #: build/C/man3/getspnam.3:108
2140 msgid "The B<getspnam>() 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<name>."
2141 msgstr "B<getspnam>() 関数は、ユーザー名 I<name> にマッチする shadow パスワードデータベースのエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返す。"
2143 #. some systems require a call of setspent() before the first getspent()
2146 #: build/C/man3/getspnam.3:120
2147 msgid "The B<getspent>() function returns a pointer to the next entry in the shadow password database. The position in the input stream is initialized by B<setspent>(). When done reading, the program may call B<endspent>() so that resources can be deallocated."
2148 msgstr "B<getspent>() 関数は shadow パスワードデータベースにおける次のエントリへのポインタを返す。 入力ストリームにおける位置は、 B<setspent>() で初期化される。 読み込みが終わった後に、 B<endspent>() を呼び出すと、リソースを解放できる。"
2151 #: build/C/man3/getspnam.3:127
2152 msgid "The B<fgetspent>() function is similar to B<getspent>() but uses the supplied stream instead of the one implicitly opened by B<setspent>()."
2153 msgstr "B<fgetspent>() 関数は B<getspent>() に似ているが、 B<setspent>() で暗黙のうちにオープンされるストリームではなく、与えられたストリームを使う。"
2156 #: build/C/man3/getspnam.3:134
2157 msgid "The B<sgetspent>() function parses the supplied string I<s> into a struct I<spwd>."
2158 msgstr "B<sgetspent>() 関数は与えられた文字列 I<s> を解析し struct I<spwd> に格納する。"
2161 #: build/C/man3/getspnam.3:144
2162 msgid "The B<putspent>() function writes the contents of the supplied struct I<spwd> I<*p> as a text line in the shadow password file format to I<stream>. String entries with value NULL and numerical entries with value -1 are written as an empty string."
2163 msgstr "B<putspent>() 関数は与えられた struct I<spwd> I<*p> の内容を shadow パスワードファイル形式のテキスト行で I<stream> に書き出す。 空文字列として、 値が NULL の文字列エントリと値が -1 の数値エントリが 書き出される。"
2166 #: build/C/man3/getspnam.3:159
2167 msgid "The B<lckpwdf>() 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<ulckpwdf>() function releases the lock again. Note that there is no protection against direct access of the shadow password file. Only programs that use B<lckpwdf>() will notice the lock."
2168 msgstr "B<lckpwdf>() 関数は、 shadow パスワードデータベースを 多重同時アクセスから守るためのものである。 この関数はロックの獲得を試み、 成功した場合は 0 を返す。 失敗した場合 (15 秒以内にロックが取得できなかった場合) は -1 を返す。 B<ulckpwdf>() 関数はロックを再び解放する。 shadow パスワードファイルへの直接アクセスから 保護する手段がない点に注意すること。 B<lckpwdf>() を使うプログラムだけがロックを通知できる。"
2171 #. SUN doesn't have sgetspent()
2173 #: build/C/man3/getspnam.3:164
2174 msgid "These were the functions that formed the original shadow API. They are widely available."
2175 msgstr "これらの関数はオリジナルの shadow API を構成していた関数であり、 いろいろなシステムで広く利用可能である。"
2178 #: build/C/man3/getspnam.3:164
2180 msgid "Reentrant versions"
2184 #: build/C/man3/getspnam.3:181
2185 msgid "Analogous to the reentrant functions for the password database, glibc also has reentrant functions for the shadow password database. The B<getspnam_r>() function is like B<getspnam>() but stores the retrieved shadow password structure in the space pointed to by I<spbuf>. This shadow password structure contains pointers to strings, and these strings are stored in the buffer I<buf> of size I<buflen>. 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>."
2186 msgstr "パスワードデータベースに対するリエントラント版と同じように、 glibc には shadow パスワードファイルに対してリエントラント版がある。 B<getspnam_r>() 関数は B<getspnam>() と似ているが、取得した shadow パスワード構造体を I<spbuf> が指す領域に格納する。 shadow パスワード構造体は文字列群へのポインタを含み、 これらの文字列群はサイズ I<buflen> のバッファ I<buf> に格納される。 I<*spbufp> には (成功した場合は) 結果へのポインタが格納され、 (エントリが見つからなかった場合またはエラーが起こった場合は) NULL が格納される。"
2189 #: build/C/man3/getspnam.3:188
2190 msgid "The functions B<getspent_r>(), B<fgetspent_r>(), and B<sgetspent_r>() are similarly analogous to their nonreentrant counterparts."
2191 msgstr "関数 B<getspent_r>(), B<fgetspent_r>(), B<sgetspent_r>() はそれぞれリエントラントでないバージョンと同様の機能を持つ。"
2193 #. SUN doesn't have sgetspent_r()
2195 #: build/C/man3/getspnam.3:192
2196 msgid "Some non-glibc systems also have functions with these names, often with different prototypes."
2197 msgstr "glibc でないシステムにもこれらと同じ名前の関数があるが、 プロトタイプが異なることも多い。"
2200 #: build/C/man3/getspnam.3:192
2206 #: build/C/man3/getspnam.3:194
2207 msgid "The shadow password structure is defined in I<E<lt>shadow.hE<gt>> as follows:"
2208 msgstr "shadow パスワード構造体は I<E<lt>shadow.hE<gt>> で以下のように定義されている:"
2211 #: build/C/man3/getspnam.3:214
2215 " char *sp_namp; /* Login name */\n"
2216 " char *sp_pwdp; /* Encrypted password */\n"
2217 " long sp_lstchg; /* Date of last change\n"
2218 " (measured in days since\n"
2219 " 1970-01-01 00:00:00 +0000 (UTC)) */\n"
2220 " long sp_min; /* Min # of days between changes */\n"
2221 " long sp_max; /* Max # of days between changes */\n"
2222 " long sp_warn; /* # of days before password expires\n"
2223 " to warn user to change it */\n"
2224 " long sp_inact; /* # of days after password expires\n"
2225 " until account is disabled */\n"
2226 " long sp_expire; /* Date when account expires\n"
2227 " (measured in days since\n"
2228 " 1970-01-01 00:00:00 +0000 (UTC)) */\n"
2229 " unsigned long sp_flag; /* Reserved */\n"
2233 " char *sp_namp; /* ログイン名 */\n"
2234 " char *sp_pwdp; /* 暗号化されたパスワード */\n"
2235 " long sp_lstchg; /* 最終更新日\n"
2236 " (1970-01-01 00:00:00 +0000 (UTC)\n"
2238 " long sp_min; /* 変更が出来るようになるまでの最短日数 */\n"
2239 " long sp_max; /* 変更をしなくてもよい最長日数 */\n"
2240 " long sp_warn; /* パスワードが期限切れになる前に\n"
2241 " ユーザーに変更の警告を出す日数 */\n"
2242 " long sp_inact; /* パスワードが期限切れになってから\n"
2243 " アカウントが無効になるまでの日数 */\n"
2244 " long sp_expire; /* アカウントが無効になる日付\n"
2245 " (1970-01-01 00:00:00 +0000 (UTC)\n"
2247 " unsigned long sp_flag; /* 予約フィールド */\n"
2251 #: build/C/man3/getspnam.3:223
2252 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<int> as the return value return 0 for success and -1 for failure, with I<errno> set to indicate the cause of the error."
2253 msgstr "ポインタを返す関数は、これ以上エントリがない場合や 処理中にエラーが発生した場合 NULL を返す。 I<int> を返り値として持つ関数は、 成功した場合 0 を返し、失敗した場合、 -1 を返し、 I<errno> にエラーの原因を示す値を設定する。"
2256 #: build/C/man3/getspnam.3:226
2257 msgid "For the nonreentrant functions, the return value may point to static area, and may be overwritten by subsequent calls to these functions."
2258 msgstr "リエントラント版でない関数では、返り値が静的な領域を指しており、 引き続いてこれらの関数を呼び出した場合に上書きされる可能性がある。"
2261 #: build/C/man3/getspnam.3:229
2262 msgid "The reentrant functions return zero on success. In case of error, an error number is returned."
2263 msgstr "リエントラント版の関数は、成功した場合に 0 を返す。 エラーの場合は、エラー番号が返される。"
2266 #: build/C/man3/getspnam.3:230
2272 #: build/C/man3/getspnam.3:233
2273 msgid "The caller does not have permission to access the shadow password file."
2274 msgstr "呼び出し元が shadow パスワードファイルにアクセスする許可を持っていない。"
2277 #: build/C/man3/getspnam.3:236
2278 msgid "Supplied buffer is too small."
2279 msgstr "与えられたバッファが小さすぎる。"
2282 #: build/C/man3/getspnam.3:237
2284 msgid "I</etc/shadow>"
2285 msgstr "I</etc/shadow>"
2288 #: build/C/man3/getspnam.3:240
2289 msgid "local shadow password database file"
2290 msgstr "ローカルの shadow パスワードデータベースファイル"
2293 #: build/C/man3/getspnam.3:240
2295 msgid "I</etc/.pwd.lock>"
2296 msgstr "I</etc/.pwd.lock>"
2299 #: build/C/man3/getspnam.3:243
2304 #: build/C/man3/getspnam.3:249
2305 msgid "The include file I<E<lt>paths.hE<gt>> defines the constant B<_PATH_SHADOW> to the pathname of the shadow password file."
2306 msgstr "インクルードファイル I<E<lt>paths.hE<gt>> は定数 B<_PATH_SHADOW> を定義している。 これは shadow パスワードファイルのパス名である。"
2309 #: build/C/man3/getspnam.3:253
2310 msgid "The shadow password database and its associated API are not specified in POSIX.1-2001. However, many other systems provide a similar API."
2311 msgstr "shadow パスワードデータベースと関連 API は POSIX.1-2001 には記載されていない。しかしながら、多くの他のシステムでも 同様の API が提供されている。"
2314 #: build/C/man3/getspnam.3:258
2315 msgid "B<getgrnam>(3), B<getpwnam>(3), B<getpwnam_r>(3), B<shadow>(5)"
2316 msgstr "B<getgrnam>(3), B<getpwnam>(3), B<getpwnam_r>(3), B<shadow>(5)"
2319 #: build/C/man5/group.5:26
2325 #: build/C/man5/group.5:26
2331 #: build/C/man5/group.5:29
2332 msgid "group - user group file"
2333 msgstr "group - ユーザーグループのファイル"
2336 #: build/C/man5/group.5:34
2337 msgid "The I</etc/group> file is a text file that defines the groups on the system. There is one entry per line, with the following format:"
2339 "I</etc/group> ファイルは、そのシステムのグループを定義するテキスト\n"
2340 "ファイルである。 1 行に 1 エントリで、各行の形式は以下のとおりである。"
2343 #: build/C/man5/group.5:37
2344 msgid "group_name:password:GID:user_list"
2345 msgstr "group_name:password:GID:user_list"
2348 #: build/C/man5/group.5:40
2349 msgid "The fields are as follows:"
2350 msgstr "各フィールドは以下の通りである:"
2353 #: build/C/man5/group.5:40
2355 msgid "I<group_name>"
2356 msgstr "I<group_name>"
2359 #: build/C/man5/group.5:43
2360 msgid "the name of the group."
2364 #: build/C/man5/group.5:43 build/C/man5/passwd.5:91
2367 msgstr "I<password>"
2370 #: build/C/man5/group.5:47
2371 msgid "the (encrypted) group password. If this field is empty, no password is needed."
2372 msgstr "(暗号化された) パスワード。このフィールドが空ならパスワードは必要ない。"
2375 #: build/C/man5/group.5:47 build/C/man5/passwd.5:103
2381 #: build/C/man5/group.5:50
2382 msgid "the numeric group ID."
2383 msgstr "グループ ID 番号。"
2386 #: build/C/man5/group.5:50
2388 msgid "I<user_list>"
2389 msgstr "I<user_list>"
2392 #: build/C/man5/group.5:53
2393 msgid "a list of the usernames that are members of this group, separated by commas."
2394 msgstr "このグループのメンバーのユーザー名のリスト。 ユーザー名はコンマで区切られる。"
2397 #: build/C/man5/group.5:55
2402 #: build/C/man5/group.5:61
2403 msgid "As the 4.2BSD B<initgroups>(3) man page says: No-one seems to keep I</etc/group> up-to-date."
2404 msgstr "4.2BSD の B<initgroups>(3) には次のように書かれている: 誰も I</etc/group> を最新の状態に保ってはいないようである。"
2407 #: build/C/man5/group.5:67
2408 msgid "B<login>(1), B<newgrp>(1), B<getgrent>(3), B<getgrnam>(3), B<passwd>(5)"
2409 msgstr "B<login>(1), B<newgrp>(1), B<getgrent>(3), B<getgrnam>(3), B<passwd>(5)"
2412 #: build/C/man3/initgroups.3:32
2418 #: build/C/man3/initgroups.3:32
2424 #: build/C/man3/initgroups.3:35
2425 msgid "initgroups - initialize the supplementary group access list"
2426 msgstr "initgroups - 追加のグループアクセスリストの初期化"
2429 #: build/C/man3/initgroups.3:41
2431 msgid "B<int initgroups(const char *>I<user>B<, gid_t >I<group>B<);>\n"
2432 msgstr "B<int initgroups(const char *>I<user>B<, gid_t >I<group>B<);>\n"
2435 #: build/C/man3/initgroups.3:50
2436 msgid "B<initgroups>(): _BSD_SOURCE"
2437 msgstr "B<initgroups>(): _BSD_SOURCE"
2440 #: build/C/man3/initgroups.3:64
2441 msgid "The B<initgroups>() function initializes the group access list by reading the group database I</etc/group> and using all groups of which I<user> is a member. The additional group I<group> is also added to the list."
2442 msgstr "B<initgroups>() 関数はグループデータベース I</etc/group> を読み 込んで、I<user> が所属している全てのグループを使って、グループアク セスリストを初期化する。さらに、I<group> に示されるグループもグルー プアクセスリストに追加される。"
2445 #: build/C/man3/initgroups.3:68
2446 msgid "The I<user> argument must be non-NULL."
2447 msgstr "I<user> 引数は NULL であってはならない。"
2450 #: build/C/man3/initgroups.3:75
2451 msgid "The B<initgroups>() function returns 0 on success. On error, -1 is returned, and I<errno> is set appropriately."
2452 msgstr "B<initgroups>() 関数は、成功すると 0 を返す。 エラーの場合は -1 を返し、 I<errno> を適切に設定する。"
2455 #: build/C/man3/initgroups.3:79
2456 msgid "Insufficient memory to allocate group information structure."
2457 msgstr "グループ情報構造体を配置するためのメモリが不足している。"
2460 #: build/C/man3/initgroups.3:79
2466 #: build/C/man3/initgroups.3:84
2467 msgid "The calling process has insufficient privilege. See the underlying system call B<setgroups>(2)."
2468 msgstr "呼出しプロセスが十分な特権を持っていない。 この関数の裏で実行されるシステムコール B<setgroups>(2) も参照のこと。"
2471 #: build/C/man3/initgroups.3:87
2473 msgid "I</etc/group>\t\tgroup database file\n"
2474 msgstr "I</etc/group>\t\tグループデータベースファイル\n"
2477 #: build/C/man3/initgroups.3:90
2478 msgid "SVr4, 4.3BSD."
2479 msgstr "SVr4, 4.3BSD."
2482 #: build/C/man3/initgroups.3:94
2483 msgid "B<getgroups>(2), B<setgroups>(2), B<credentials>(7)"
2484 msgstr "B<getgroups>(2), B<setgroups>(2), B<credentials>(7)"
2487 #: build/C/man5/passwd.5:30
2493 #: build/C/man5/passwd.5:30
2499 #: build/C/man5/passwd.5:33
2500 msgid "passwd - password file"
2501 msgstr "passwd - パスワードファイル"
2504 #: build/C/man5/passwd.5:41
2505 msgid "The I</etc/passwd> 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<ls>(1) use it to map user IDs to usernames), but write access only for the superuser."
2507 "I</etc/passwd> ファイルは、そのシステムのユーザーのログインアカウントリス\n"
2508 "トを記述したテキストファイルである。パスワードファイルの読み出し許可は\n"
2509 "全ユーザーに対して与えるが(I<ls>(1) 等の多くのユーティリティではユーザー\n"
2510 "ID をユーザー名に 対応させるのに B<passwd> ファイルを使用する)、書き込\n"
2511 "み許可はスーパーユーザーにのみ与えるようにすべきである。"
2514 #: build/C/man5/passwd.5:53
2515 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</etc/passwd> has an \\(aqx\\(aq character in the password field, and the encrypted passwords are in I</etc/shadow>, which is readable by the superuser only."
2517 "古き良き時代には、この全ユーザーに対する読み取り許可は 特別な問題を起こ\n"
2518 "さなかった。誰でも暗号化されたパスワードを 読むことが出来たが、上手に選\n"
2519 "ばれたパスワードを破るのには 当時のハードウェアの速度はあまりに遅かった\n"
2520 "し、それに加えて 友好的なユーザー社会であることを基本的な前提としていた。\n"
2521 "最近では多くの人が、何らかのバージョンの shadow password suite\n"
2522 "(シャドウパスワード機能を実現するためのプログラム群) を動かしている。\n"
2523 "その場合 I</etc/passwd> ファイルのパスワード欄には\n"
2524 "\\(aqx\\(aq 文字が設定され、暗号化されたパスワードは\n"
2525 "I</etc/shadow> ファイルに保持される。 I</etc/shadow> ファイルはスーパー\n"
2526 "ユーザーだけが読み出すことができる。"
2529 #: build/C/man5/passwd.5:62
2530 msgid "If the encrypted password, whether in I</etc/passwd> or in I</etc/shadow>, 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)."
2532 "I</etc/passwd> と I</etc/shadow> のどちらの場合でも暗号化パスワードが\n"
2533 "空文字列の場合、パスワードの問い合わせなしでのログインが許可される。\n"
2534 "この機能は、アプリケーションで意図的に無効されたり、\n"
2535 "設定可能 (例えば pam_unix.so の \"nullok\" や \"nonull\" 引き数など)\n"
2536 "になっていたりする場合がある点に注意すること。"
2539 #: build/C/man5/passwd.5:67
2540 msgid "If the encrypted password in I</etc/passwd> is \"I<*NP*>\" (without the quotes), the shadow record should be obtained from an NIS+ server."
2542 "I</etc/passwd> の暗号化パスワードが \"I<*NP*>\" (クォートはなし) の場合、\n"
2543 "shadow レコードを NIS+ サーバから取得することを意味する。"
2546 #: build/C/man5/passwd.5:73
2547 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.)"
2549 "shadow password が使われているかどうかにはよらず、多くのシステム管理者は、\n"
2550 "暗号化パスワード欄にアスタリスク (*) を設定することで、そのユーザーが\n"
2551 "パスワードでの認証が受けられないようにしている (下記の「注意」の項を参照)。"
2554 #: build/C/man5/passwd.5:78
2555 msgid "If you create a new login, first put an asterisk (*) in the password field, then use B<passwd>(1) to set it."
2557 "新しいユーザーを登録する場合には、パスワード欄にアスタリスク (*) を設定しておき、\n"
2558 "B<passwd>(1) コマンドにより設定を行うようにすること。"
2561 #: build/C/man5/passwd.5:81
2562 msgid "Each line of the file describes a single user, and contains seven colon-separated fields:"
2564 "ファイルの 1 行は 1 ユーザーの情報を表し、\n"
2565 "コロン区切りの 7 つの項目を含む。"
2568 #: build/C/man5/passwd.5:84
2569 msgid "name:password:UID:GID:GECOS:directory:shell"
2570 msgstr "name:password:UID:GID:GECOS:directory:shell"
2573 #: build/C/man5/passwd.5:87
2574 msgid "The field are as follows:"
2575 msgstr "各フィールドは以下の通りである:"
2578 #: build/C/man5/passwd.5:87
2584 #: build/C/man5/passwd.5:91
2585 msgid "This is the user's login name. It should not contain capital letters."
2586 msgstr "ユーザーのログイン名。大文字を含まないすべきである。"
2589 #: build/C/man5/passwd.5:98
2590 msgid "This is either the encrypted user password, an asterisk (*), or the letter \\(aqx\\(aq. (See B<pwconv>(8) for an explanation of \\(aqx\\(aq.)"
2592 "暗号化されたユーザーのパスワード、アスタリスク (*)、文字 \\(aqx\\(aq の\n"
2593 "いずれかである (\\(aqx\\(aq の説明については B<pwconv>(8) を参照)。"
2596 #: build/C/man5/passwd.5:98
2602 #: build/C/man5/passwd.5:103
2603 msgid "The privileged I<root> login account (superuser) has the user ID 0."
2605 "特権を持つ I<root> ログインアカウント (スーパーユーザー) は\n"
2609 #: build/C/man5/passwd.5:108
2610 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<group>(5))."
2612 "このユーザーのプライマリグループ ID の番号。\n"
2613 "(このユーザーの追加のグループはシステムのグループ定義ファイル\n"
2614 "で定義される。 B<group>(5) を参照)。"
2617 #: build/C/man5/passwd.5:108
2623 #: build/C/man5/passwd.5:116
2624 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<finger>(1)) display information from this field."
2626 "本欄 (「コメント欄」と呼ばれることもある) は省略可能で、情報提供の\n"
2627 "目的のみに使われる。ユーザーのフルネームを設定することが多い。\n"
2628 "(B<finger>(1) などの) いくつかのプログラムでは、このフィールドの\n"
2632 #: build/C/man5/passwd.5:125
2633 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.\""
2635 "GECOS は General Electric Comprehensive Operating System を意味しており、\n"
2636 "GE 社の大規模システム部門が Honeywell 社に売却された際に GCOS へと変更\n"
2637 "された。Dennis Ritchie 氏は次のように言っている:「時々プリンタ出力や、\n"
2638 "バッチジョブを GCOS マシンに送ったりするが、パスワードファイルの \n"
2639 "gcos 欄は $IDENT カード用の情報を 隠しておくための場所なんだ。\n"
2643 #: build/C/man5/passwd.5:125
2645 msgid "I<directory>"
2646 msgstr "I<directory>"
2649 #: build/C/man5/passwd.5:132
2650 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<HOME> environment variable."
2652 "ユーザーのホームディレクトリ、つまりログイン直後のそのユーザーの\n"
2654 "このフィールドの値は B<HOME> 環境変数に設定される。"
2657 #: build/C/man5/passwd.5:132
2663 #: build/C/man5/passwd.5:142
2664 msgid "This is the program to run at login (if empty, use I</bin/sh>). If set to a nonexistent executable, the user will be unable to login through B<login>(1). The value in this field is used to set the B<SHELL> environment variable."
2666 "ログイン時に動くプログラム名 (空欄の場合 I</bin/sh> が使われる)。\n"
2667 "存在しない実行ファイルが設定された場合、そのユーザーは B<login>(1) による\n"
2668 "システムへのログインができなくなる。\n"
2669 "このフィールドの値は B<SHELL> 環境変数の値に設定される。"
2672 #: build/C/man5/passwd.5:148
2673 msgid "If you want to create user groups, there must be an entry in I</etc/group>, or no group will exist."
2675 "ユーザーグループを作りたい場合には、そのグループが I</etc/group> の中に\n"
2676 "定義されていなければならない。そうしないとグループを作ったことにはならない。"
2679 #: build/C/man5/passwd.5:162
2680 msgid "If the encrypted password is set to an asterisk (*), the user will be unable to login using B<login>(1), but may still login using B<rlogin>(1), run existing processes and initiate new ones through B<rsh>(1), B<cron>(8), B<at>(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<su>(1)."
2682 "暗号化パスワードとしてアスタリスク (*) を設定すると、 B<login>(1) を\n"
2683 "使ってのログインができなくなるが、 B<rlogin>(1) ではまだログインができるし、\n"
2684 "B<rsh>(1), B<cron>(8), B<at>(1) やメールのフィルタ等を使い、現存するプロセスを\n"
2685 "実行させたり、新たなプロセスを起動したりすることができる。\n"
2686 "使用する shell の欄を、単に変更することでアカウントを 使えないようにする\n"
2687 "のも同様の結果となる。その場合にはさらに B<su>(1) も有効なまま残ってしまう。"
2690 #: build/C/man5/passwd.5:171
2691 msgid "B<login>(1), B<passwd>(1), B<su>(1), B<crypt>(3), B<getpwent>(3), B<getpwnam>(3), B<group>(5), B<shadow>(5)"
2692 msgstr "B<login>(1), B<passwd>(1), B<su>(1), B<crypt>(3), B<getpwent>(3), B<getpwnam>(3), B<group>(5), B<shadow>(5)"
2695 #: build/C/man3/putgrent.3:7
2701 #: build/C/man3/putgrent.3:10
2702 msgid "putgrent - write a group database entry to a file"
2703 msgstr "putgrent - グループデータベースエントリをファイルに書き込む"
2706 #: build/C/man3/putgrent.3:12
2707 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
2708 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
2711 #: build/C/man3/putgrent.3:16
2712 msgid "B<int putgrent(const struct group *>I<grp>B<, FILE *>I<stream>B<);>"
2713 msgstr "B<int putgrent(const struct group *>I<grp>B<, FILE *>I<stream>B<);>"
2716 #: build/C/man3/putgrent.3:26
2717 msgid "The B<putgrent>() function is the counterpart for B<fgetgrent>(3). The function writes the content of the provided I<struct group> into the I<stream>. The list of group members must be NULL-terminated or NULL-initialized."
2718 msgstr "B<putgrent>() 関数は B<fgetgrent>(3) の逆である。 この関数は与えられた I<struct group> を I<stream> に書き込む。 グループメンバのリストは、 NULL で終端されるか、 NULL で初期化されなければならない。"
2721 #: build/C/man3/putgrent.3:30
2722 msgid "The I<struct group> is defined as follows:"
2723 msgstr "I<struct group> は以下のように定義される:"
2726 #: build/C/man3/putgrent.3:39
2730 " char *gr_name; /* group name */\n"
2731 " char *gr_passwd; /* group password */\n"
2732 " gid_t gr_gid; /* group ID */\n"
2733 " char **gr_mem; /* group members */\n"
2737 " char *gr_name; /* グループ名 */\n"
2738 " char *gr_passwd; /* グループパスワード */\n"
2739 " gid_t gr_gid; /* グループ ID */\n"
2740 " char **gr_mem; /* グループメンバ */\n"
2744 #: build/C/man3/putgrent.3:43
2745 msgid "The function returns zero on success, and a nonzero value on error."
2746 msgstr "この関数は、成功した場合は 0 を返し、エラーの場合は 0 以外の値を返す。"
2749 #: build/C/man3/putgrent.3:45
2750 msgid "This function is a GNU extension."
2751 msgstr "この関数は GNU による拡張である。"
2754 #: build/C/man3/putgrent.3:49
2755 msgid "B<fgetgrent>(3), B<getgrent>(3), B<group>(5)"
2756 msgstr "B<fgetgrent>(3), B<getgrent>(3), B<group>(5)"
2759 #: build/C/man3/putpwent.3:30
2765 #: build/C/man3/putpwent.3:33
2766 msgid "putpwent - write a password file entry"
2767 msgstr "putpwent - パスワードファイルエントリの書き込み"
2770 #: build/C/man3/putpwent.3:40
2772 msgid "B<int putpwent(const struct passwd *>I<p>B<, FILE *>I<stream>B<);>\n"
2773 msgstr "B<int putpwent(const struct passwd *>I<p>B<, FILE *>I<stream>B<);>\n"
2776 #: build/C/man3/putpwent.3:49
2777 msgid "B<putpwent>(): _SVID_SOURCE"
2778 msgstr "B<putpwent>(): _SVID_SOURCE"
2781 #: build/C/man3/putpwent.3:54
2782 msgid "The B<putpwent>() function writes a password entry from the structure I<p> in the file associated with I<stream>."
2783 msgstr "B<putpwent>() 関数は、構造体 I<p> からのパスワードエントリを I<stream> に結びつけられたファイルに書き込む。"
2786 #: build/C/man3/putpwent.3:68
2790 " char *pw_name; /* username */\n"
2791 " char *pw_passwd; /* user password */\n"
2792 " uid_t pw_uid; /* user ID */\n"
2793 " gid_t pw_gid; /* group ID */\n"
2794 " char *pw_gecos; /* real name */\n"
2795 " char *pw_dir; /* home directory */\n"
2796 " char *pw_shell; /* shell program */\n"
2800 " char *pw_name; /* ユーザー名 */\n"
2801 " char *pw_passwd; /* ユーザーのパスワード */\n"
2802 " uid_t pw_uid; /* ユーザー ID */\n"
2803 " gid_t pw_gid; /* グループ ID */\n"
2804 " char *pw_gecos; /* 本名 */\n"
2805 " char *pw_dir; /* ホームディレクトリ */\n"
2806 " char *pw_shell; /* シェルプログラム */\n"
2810 #: build/C/man3/putpwent.3:78
2811 msgid "The B<putpwent>() function returns 0 on success, or -1 if an error occurs. In the event of an error, I<errno> is set to indicate the cause."
2812 msgstr "B<putpwent>() 関数は、成功した場合 0 を返す。 エラーが発生した場合 -1 を返し、 I<errno>に原因を示す値が設定される。"
2815 #: build/C/man3/putpwent.3:82
2816 msgid "Invalid (NULL) argument given."
2817 msgstr "無効な(NULL)引数が渡された。"
2820 #: build/C/man3/putpwent.3:92
2821 msgid "B<endpwent>(3), B<fgetpwent>(3), B<getpw>(3), B<getpwent>(3), B<getpwnam>(3), B<getpwuid>(3), B<setpwent>(3)"
2822 msgstr "B<endpwent>(3), B<fgetpwent>(3), B<getpw>(3), B<getpwent>(3), B<getpwnam>(3), B<getpwuid>(3), B<setpwent>(3)"
2825 #: build/C/man3/setaliasent.3:9
2828 msgstr "SETALIASENT"
2831 #: build/C/man3/setaliasent.3:9
2837 #: build/C/man3/setaliasent.3:13
2838 msgid "setaliasent, endaliasent, getaliasent, getaliasent_r, getaliasbyname, getaliasbyname_r - read an alias entry"
2839 msgstr "setaliasent, endaliasent, getaliasent, getaliasent_r, getaliasbyname, getaliasbyname_r - エイリアスエントリを読み込む"
2842 #: build/C/man3/setaliasent.3:15
2843 msgid "B<#include E<lt>aliases.hE<gt>>"
2844 msgstr "B<#include E<lt>aliases.hE<gt>>"
2847 #: build/C/man3/setaliasent.3:17
2848 msgid "B<void setaliasent(void);>"
2849 msgstr "B<void setaliasent(void);>"
2852 #: build/C/man3/setaliasent.3:19
2853 msgid "B<void endaliasent(void);>"
2854 msgstr "B<void endaliasent(void);>"
2857 #: build/C/man3/setaliasent.3:21
2858 msgid "B<struct aliasent *getaliasent(void);>"
2859 msgstr "B<struct aliasent *getaliasent(void);>"
2862 #: build/C/man3/setaliasent.3:23
2863 msgid "B<int getaliasent_r(struct aliasent *>I<result>B<,>"
2864 msgstr "B<int getaliasent_r(struct aliasent *>I<result>B<,>"
2867 #: build/C/man3/setaliasent.3:25 build/C/man3/setaliasent.3:31
2868 msgid "B< char *>I<buffer>B<, size_t >I<buflen>B<, struct aliasent **>I<res>B<);>"
2869 msgstr "B< char *>I<buffer>B<, size_t >I<buflen>B<, struct aliasent **>I<res>B<);>"
2872 #: build/C/man3/setaliasent.3:27
2873 msgid "B<struct aliasent *getaliasbyname(const char *>I<name>B<);>"
2874 msgstr "B<struct aliasent *getaliasbyname(const char *>I<name>B<);>"
2877 #: build/C/man3/setaliasent.3:29
2878 msgid "B<int getaliasbyname_r(const char *>I<name>B<, struct aliasent *>I<result>B<,>"
2879 msgstr "B<int getaliasbyname_r(const char *>I<name>B<, struct aliasent *>I<result>B<,>"
2882 #: build/C/man3/setaliasent.3:37
2883 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<getent --help>.) Six functions are provided to access the aliases database."
2884 msgstr "ネームサービススイッチ (Name Service Switch, NSS) で 利用可能なデータベースの 1 つとして、 メールエイリアスを保持するエイリアスデータベースがある。 (どのデータベースがサポートされているかを調べるには、 getent --help を実行すること。) エイリアスデータベースにアクセスするために、 6 つの関数が提供されている。"
2887 #: build/C/man3/setaliasent.3:44
2888 msgid "The B<getaliasent>() 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."
2889 msgstr "B<getaliasent>() 関数はエイリアスデータベースから取り出した グループ情報を含む構造体へのポインタを返す。 1 回目に関数が呼ばれたときには、最初のエントリを返す; それ以降はその後のエントリを返す。"
2892 #: build/C/man3/setaliasent.3:49
2893 msgid "The B<setaliasent>() function rewinds the file pointer to the beginning of the aliases database."
2894 msgstr "B<setaliasent>() 関数はファイルポインタをエイリアスデータベースの先頭に巻き戻す。"
2897 #: build/C/man3/setaliasent.3:53
2898 msgid "The B<endaliasent>() function closes the aliases database."
2899 msgstr "B<endaliasent>() 関数はエイリアスデータベースをクローズする。"
2902 #: build/C/man3/setaliasent.3:60
2903 msgid "B<getaliasent_r>() 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."
2904 msgstr "B<getaliasent_r>() 関数は上記の関数のリエントラント版である。 要求された構造体は第 1 引き数に格納されるが、 プログラマは他の引き数も埋めてやる必要がある。 充分な領域が与えられないと、この関数は失敗する。"
2907 #: build/C/man3/setaliasent.3:66
2908 msgid "The function B<getaliasbyname>() takes the name argument and searches the aliases database. The entry is returned as a pointer to a I<struct aliasent>."
2909 msgstr "関数 B<getaliasbyname>() は name 引き数をとり、エイリアスデータベースを検索する。 エントリは I<struct aliasent> へのポインタとして返される。"
2912 #: build/C/man3/setaliasent.3:73
2913 msgid "B<getaliasbyname_r>() 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."
2914 msgstr "B<getaliasbyname_r>() は上記の関数のリエントラント版である。 要求された構造体は第 2 引き数に格納されるが、 プログラマは他の引き数も埋めてやる必要がある。 充分な領域が与えられないと、この関数は失敗する。"
2917 #: build/C/man3/setaliasent.3:78
2918 msgid "The I<struct aliasent> is defined in I<E<lt>aliases.hE<gt>>:"
2919 msgstr "I<struct aliasent> は I<E<lt>aliases.hE<gt>> で定義されている。"
2922 #: build/C/man3/setaliasent.3:87
2925 "struct aliasent {\n"
2926 " char *alias_name; /* alias name */\n"
2927 " size_t alias_members_len;\n"
2928 " char **alias_members; /* alias name list */\n"
2929 " int alias_local;\n"
2932 "struct aliasent {\n"
2933 " char *alias_name; /* エイリアス名 */\n"
2934 " size_t alias_members_len;\n"
2935 " char **alias_members; /* エイリアス名のリスト */\n"
2936 " int alias_local;\n"
2940 #: build/C/man3/setaliasent.3:95
2941 msgid "The functions B<getaliasent_r>() and B<getaliasbyname_r>() return a nonzero value on error."
2942 msgstr "関数 B<getaliasent_r>() と B<getaliasbyname_r>() は、エラーの場合に 0 以外の値を返す。"
2945 #: build/C/man3/setaliasent.3:101
2946 msgid "The default alias database is the file I</etc/aliases>. This can be changed in the I</etc/nsswitch.conf> file."
2947 msgstr "デフォルトのエイリアスデータベースは、ファイル I</etc/aliases> である。 これは I</etc/nsswitch.conf> ファイルで変更できる。"
2950 #: build/C/man3/setaliasent.3:104
2951 msgid "These routines are glibc-specific. The NeXT system has similar routines:"
2952 msgstr "このルーチンは glibc 固有のものである。 NeXT システムには同様のルーチンがある。"
2955 #: build/C/man3/setaliasent.3:108
2957 msgid "#include E<lt>aliasdb.hE<gt>\n"
2958 msgstr "#include E<lt>aliasdb.hE<gt>\n"
2961 #: build/C/man3/setaliasent.3:113
2964 "void alias_setent(void);\n"
2965 "void alias_endent(void);\n"
2966 "alias_ent *alias_getent(void);\n"
2967 "alias_ent *alias_getbyname(char *name);\n"
2969 "void alias_setent(void);\n"
2970 "void alias_endent(void);\n"
2971 "alias_ent *alias_getent(void);\n"
2972 "alias_ent *alias_getbyname(char *name);\n"
2975 #: build/C/man3/setaliasent.3:119
2976 msgid "The following example compiles with I<gcc example.c -o example>. It will dump all names in the alias database."
2977 msgstr "以下の例は I<gcc example.c -o example> でコンパイルできる。 これはエイリアスデータベースにある全ての名前をダンプする。"
2980 #: build/C/man3/setaliasent.3:125
2983 "#include E<lt>aliases.hE<gt>\n"
2984 "#include E<lt>stdio.hE<gt>\n"
2985 "#include E<lt>stdlib.hE<gt>\n"
2986 "#include E<lt>errno.hE<gt>\n"
2988 "#include E<lt>aliases.hE<gt>\n"
2989 "#include E<lt>stdio.hE<gt>\n"
2990 "#include E<lt>stdlib.hE<gt>\n"
2991 "#include E<lt>errno.hE<gt>\n"
2994 #: build/C/man3/setaliasent.3:144
3000 " struct aliasent *al;\n"
3003 " al = getaliasent();\n"
3004 " if (al == NULL)\n"
3006 " printf(\"Name: %s\\en\", al-E<gt>alias_name);\n"
3009 " perror(\"reading alias\");\n"
3010 " exit(EXIT_FAILURE);\n"
3013 " exit(EXIT_SUCCESS);\n"
3019 " struct aliasent *al;\n"
3022 " al = getaliasent();\n"
3023 " if (al == NULL)\n"
3025 " printf(\"Name: %s\\en\", al-E<gt>alias_name);\n"
3028 " perror(\"reading alias\");\n"
3029 " exit(EXIT_FAILURE);\n"
3032 " exit(EXIT_SUCCESS);\n"
3034 #. /etc/sendmail/aliases
3036 #. newaliases, postalias
3038 #: build/C/man3/setaliasent.3:154
3039 msgid "B<getgrent>(3), B<getpwent>(3), B<getspent>(3), B<aliases>(5)"
3040 msgstr "B<getgrent>(3), B<getpwent>(3), B<getspent>(3), B<aliases>(5)"