OSDN Git Service

dc0eb85db71af2c22f517b32f805c56105ad0e1b
[linuxjm/LDP_man-pages.git] / po4a / pwdgrp / po / ja.po
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.
5 #
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2013-08-15 19:32+0900\n"
10 "PO-Revision-Date: 2013-07-19 23:33+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
13 "Language: \n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17
18 #. type: TH
19 #: build/C/man3/fgetgrent.3:30
20 #, no-wrap
21 msgid "FGETGRENT"
22 msgstr "FGETGRENT"
23
24 #. type: TH
25 #: build/C/man3/fgetgrent.3:30 build/C/man3/fgetpwent.3:33
26 #: build/C/man3/getspnam.3:8 build/C/man3/putpwent.3:30
27 #, no-wrap
28 msgid "2013-04-19"
29 msgstr "2013-04-19"
30
31 #. type: TH
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
39 #, no-wrap
40 msgid "GNU"
41 msgstr "GNU"
42
43 #. type: TH
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
53 #, no-wrap
54 msgid "Linux Programmer's Manual"
55 msgstr "Linux Programmer's Manual"
56
57 #. type: SH
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
67 #, no-wrap
68 msgid "NAME"
69 msgstr "名前"
70
71 #. type: Plain text
72 #: build/C/man3/fgetgrent.3:33
73 msgid "fgetgrent - get group file entry"
74 msgstr "fgetgrent - グループファイルエントリの取り出し"
75
76 #. type: SH
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
85 #, no-wrap
86 msgid "SYNOPSIS"
87 msgstr "書式"
88
89 #. type: Plain text
90 #: build/C/man3/fgetgrent.3:38
91 #, no-wrap
92 msgid ""
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"
96 msgstr ""
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"
100
101 #. type: Plain text
102 #: build/C/man3/fgetgrent.3:40
103 #, no-wrap
104 msgid "B<struct group *fgetgrent(FILE *>I<stream>B<);>\n"
105 msgstr "B<struct group *fgetgrent(FILE *>I<stream>B<);>\n"
106
107 #. type: Plain text
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 ""
115 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
116 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
117
118 #. type: Plain text
119 #: build/C/man3/fgetgrent.3:49
120 msgid "B<fgetgrent>(): _SVID_SOURCE"
121 msgstr "B<fgetgrent>(): _SVID_SOURCE"
122
123 #. type: SH
124 #: build/C/man3/fgetgrent.3:49 build/C/man3/fgetpwent.3:52
125 #: build/C/man5/ftpusers.5:22 build/C/man3/getgrent.3:68
126 #: build/C/man3/getgrent_r.3:51 build/C/man3/getgrnam.3:67
127 #: build/C/man3/getgrouplist.3:46 build/C/man3/getpw.3:43
128 #: build/C/man3/getpwent.3:62 build/C/man3/getpwent_r.3:50
129 #: build/C/man3/getpwnam.3:71 build/C/man3/getspnam.3:72
130 #: build/C/man5/group.5:29 build/C/man3/initgroups.3:50
131 #: build/C/man5/passwd.5:33 build/C/man3/putgrent.3:16
132 #: build/C/man3/putpwent.3:49 build/C/man3/setaliasent.3:31
133 #, no-wrap
134 msgid "DESCRIPTION"
135 msgstr "説明"
136
137 #. type: Plain text
138 #: build/C/man3/fgetgrent.3:63
139 msgid ""
140 "The B<fgetgrent>()  function returns a pointer to a structure containing the "
141 "group information from the file referred to by I<stream>.  The first time it "
142 "is called it returns the first entry; thereafter, it returns successive "
143 "entries.  The file referred to by I<stream> must have the same format as I</"
144 "etc/group> (see B<group>(5))."
145 msgstr ""
146 "B<fgetgrent>()  関数は、 I<stream> で参照されるファイルから取り出したグループ"
147 "情報 を含む構造体へのポインタを返す。最初に呼び出された時は 最初のエントリを"
148 "返し、それ以降は、次のエントリを返す。 I<stream> で参照されるファイルは、 I</"
149 "etc/group> と同じ形式でなければならない (B<group>(5)  参照)。"
150
151 #. type: Plain text
152 #: build/C/man3/fgetgrent.3:65 build/C/man3/getgrent.3:92
153 #: build/C/man3/getgrent_r.3:68 build/C/man3/getgrnam.3:86
154 msgid "The I<group> structure is defined in I<E<lt>grp.hE<gt>> as follows:"
155 msgstr "I<group> 構造体は I<E<lt>grp.hE<gt>> で以下のように定義されている:"
156
157 #. type: Plain text
158 #: build/C/man3/fgetgrent.3:74
159 #, no-wrap
160 msgid ""
161 "struct group {\n"
162 "    char   *gr_name;        /* group name */\n"
163 "    char   *gr_passwd;      /* group password */\n"
164 "    gid_t   gr_gid;         /* group ID */\n"
165 "    char  **gr_mem;         /* group members */\n"
166 "};\n"
167 msgstr ""
168 "struct group {\n"
169 "    char   *gr_name;        /* グループ名 */\n"
170 "    char   *gr_passwd;      /* グループのパスワード */\n"
171 "    gid_t   gr_gid;         /* グループ ID */\n"
172 "    char  **gr_mem;         /* グループのメンバ */\n"
173 "};\n"
174
175 #. type: SH
176 #: build/C/man3/fgetgrent.3:76 build/C/man3/fgetpwent.3:81
177 #: build/C/man3/getgrent.3:106 build/C/man3/getgrent_r.3:101
178 #: build/C/man3/getgrnam.3:136 build/C/man3/getgrouplist.3:78
179 #: build/C/man3/getpw.3:72 build/C/man3/getpwent.3:103
180 #: build/C/man3/getpwent_r.3:103 build/C/man3/getpwnam.3:143
181 #: build/C/man3/getspnam.3:216 build/C/man3/initgroups.3:68
182 #: build/C/man3/putgrent.3:42 build/C/man3/putpwent.3:70
183 #: build/C/man3/setaliasent.3:89
184 #, no-wrap
185 msgid "RETURN VALUE"
186 msgstr "返り値"
187
188 #. type: Plain text
189 #: build/C/man3/fgetgrent.3:86
190 msgid ""
191 "The B<fgetgrent>()  function returns a pointer to a I<group> structure, or "
192 "NULL if there are no more entries or an error occurs.  In the event of an "
193 "error, I<errno> is set to indicate the cause."
194 msgstr ""
195 "B<fgetgrent>()  関数は I<group> 構造体へのポインタを返す。 これ以上エントリが"
196 "無いか、エラーが発生した場合は NULL を返す。 エラーの場合、 I<errno> に原因を"
197 "示す値が設定される。"
198
199 #. type: SH
200 #: build/C/man3/fgetgrent.3:86 build/C/man3/fgetpwent.3:91
201 #: build/C/man3/getgrent.3:129 build/C/man3/getgrent_r.3:108
202 #: build/C/man3/getgrnam.3:174 build/C/man3/getpw.3:78
203 #: build/C/man3/getpwent.3:125 build/C/man3/getpwent_r.3:110
204 #: build/C/man3/getpwnam.3:181 build/C/man3/getspnam.3:229
205 #: build/C/man3/initgroups.3:75 build/C/man3/putpwent.3:78
206 #, no-wrap
207 msgid "ERRORS"
208 msgstr "エラー"
209
210 #. type: TP
211 #: build/C/man3/fgetgrent.3:87 build/C/man3/fgetpwent.3:92
212 #: build/C/man3/getgrent.3:142 build/C/man3/getgrnam.3:196
213 #: build/C/man3/getpw.3:87 build/C/man3/getpwent.3:140
214 #: build/C/man3/getpwnam.3:203 build/C/man3/initgroups.3:76
215 #, no-wrap
216 msgid "B<ENOMEM>"
217 msgstr "B<ENOMEM>"
218
219 #.  not in POSIX
220 #.  to allocate the group structure, or to allocate buffers
221 #. type: Plain text
222 #: build/C/man3/fgetgrent.3:92 build/C/man3/getgrent.3:148
223 #: build/C/man3/getgrnam.3:203
224 msgid "Insufficient memory to allocate I<group> structure."
225 msgstr "I<group> 構造体を割り当てるためのメモリが不十分。"
226
227 #. type: SH
228 #: build/C/man3/fgetgrent.3:92 build/C/man3/fgetpwent.3:101
229 #: build/C/man3/getgrent.3:166 build/C/man3/getgrent_r.3:116
230 #: build/C/man3/getgrnam.3:223 build/C/man3/getgrouplist.3:98
231 #: build/C/man3/getpw.3:96 build/C/man3/getpwent.3:165
232 #: build/C/man3/getpwent_r.3:118 build/C/man3/getpwnam.3:230
233 #: build/C/man3/getspnam.3:249 build/C/man3/initgroups.3:88
234 #: build/C/man3/putgrent.3:44 build/C/man3/putpwent.3:82
235 #: build/C/man3/setaliasent.3:101
236 #, no-wrap
237 msgid "CONFORMING TO"
238 msgstr "準拠"
239
240 #. type: Plain text
241 #: build/C/man3/fgetgrent.3:94 build/C/man3/fgetpwent.3:103
242 #: build/C/man3/putpwent.3:84
243 msgid "SVr4."
244 msgstr "SVr4."
245
246 #. type: SH
247 #: build/C/man3/fgetgrent.3:94 build/C/man3/fgetpwent.3:103
248 #: build/C/man5/ftpusers.5:49 build/C/man3/getgrent.3:168
249 #: build/C/man3/getgrent_r.3:183 build/C/man3/getgrnam.3:246
250 #: build/C/man3/getgrouplist.3:189 build/C/man3/getpw.3:105
251 #: build/C/man3/getpwent.3:170 build/C/man3/getpwent_r.3:180
252 #: build/C/man3/getpwnam.3:326 build/C/man3/getspnam.3:253
253 #: build/C/man5/group.5:61 build/C/man3/initgroups.3:90
254 #: build/C/man5/passwd.5:162 build/C/man3/putgrent.3:46
255 #: build/C/man3/putpwent.3:84 build/C/man3/setaliasent.3:145
256 #, no-wrap
257 msgid "SEE ALSO"
258 msgstr "関連項目"
259
260 #. type: Plain text
261 #: build/C/man3/fgetgrent.3:104
262 msgid ""
263 "B<endgrent>(3), B<fgetgrent_r>(3), B<fopen>(3), B<getgrent>(3), B<getgrgid>"
264 "(3), B<getgrnam>(3), B<putgrent>(3), B<setgrent>(3), B<group>(5)"
265 msgstr ""
266 "B<endgrent>(3), B<fgetgrent_r>(3), B<fopen>(3), B<getgrent>(3), B<getgrgid>"
267 "(3), B<getgrnam>(3), B<putgrent>(3), B<setgrent>(3), B<group>(5)"
268
269 #. type: SH
270 #: build/C/man3/fgetgrent.3:104 build/C/man3/fgetpwent.3:114
271 #: build/C/man5/ftpusers.5:53 build/C/man3/getgrent.3:176
272 #: build/C/man3/getgrent_r.3:190 build/C/man3/getgrnam.3:253
273 #: build/C/man3/getgrouplist.3:195 build/C/man3/getpw.3:114
274 #: build/C/man3/getpwent.3:178 build/C/man3/getpwent_r.3:188
275 #: build/C/man3/getpwnam.3:336 build/C/man3/getspnam.3:258
276 #: build/C/man5/group.5:67 build/C/man3/initgroups.3:94
277 #: build/C/man5/passwd.5:171 build/C/man3/putgrent.3:50
278 #: build/C/man3/putpwent.3:92 build/C/man3/setaliasent.3:154
279 #, no-wrap
280 msgid "COLOPHON"
281 msgstr "この文書について"
282
283 #. type: Plain text
284 #: build/C/man3/fgetgrent.3:111 build/C/man3/fgetpwent.3:121
285 #: build/C/man5/ftpusers.5:60 build/C/man3/getgrent.3:183
286 #: build/C/man3/getgrent_r.3:197 build/C/man3/getgrnam.3:260
287 #: build/C/man3/getgrouplist.3:202 build/C/man3/getpw.3:121
288 #: build/C/man3/getpwent.3:185 build/C/man3/getpwent_r.3:195
289 #: build/C/man3/getpwnam.3:343 build/C/man3/getspnam.3:265
290 #: build/C/man5/group.5:74 build/C/man3/initgroups.3:101
291 #: build/C/man5/passwd.5:178 build/C/man3/putgrent.3:57
292 #: build/C/man3/putpwent.3:99 build/C/man3/setaliasent.3:161
293 #, fuzzy
294 #| msgid ""
295 #| "This page is part of release 3.52 of the Linux I<man-pages> project.  A "
296 #| "description of the project, and information about reporting bugs, can be "
297 #| "found at \\%http://www.kernel.org/doc/man-pages/."
298 msgid ""
299 "This page is part of release 3.53 of the Linux I<man-pages> project.  A "
300 "description of the project, and information about reporting bugs, can be "
301 "found at \\%http://www.kernel.org/doc/man-pages/."
302 msgstr ""
303 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.52 の一部\n"
304 "である。プロジェクトの説明とバグ報告に関する情報は\n"
305 "http://www.kernel.org/doc/man-pages/ に書かれている。"
306
307 #. type: TH
308 #: build/C/man3/fgetpwent.3:33
309 #, no-wrap
310 msgid "FGETPWENT"
311 msgstr "FGETPWENT"
312
313 #. type: Plain text
314 #: build/C/man3/fgetpwent.3:36
315 msgid "fgetpwent - get password file entry"
316 msgstr "fgetpwent - パスワードファイルエントリの取り出し"
317
318 #. type: Plain text
319 #: build/C/man3/fgetpwent.3:41 build/C/man3/putpwent.3:38
320 #, no-wrap
321 msgid ""
322 "B<#include E<lt>stdio.hE<gt>>\n"
323 "B<#include E<lt>sys/types.hE<gt>>\n"
324 "B<#include E<lt>pwd.hE<gt>>\n"
325 msgstr ""
326 "B<#include E<lt>stdio.hE<gt>>\n"
327 "B<#include E<lt>sys/types.hE<gt>>\n"
328 "B<#include E<lt>pwd.hE<gt>>\n"
329
330 #. type: Plain text
331 #: build/C/man3/fgetpwent.3:43
332 #, no-wrap
333 msgid "B<struct passwd *fgetpwent(FILE *>I<stream>B<);>\n"
334 msgstr "B<struct passwd *fgetpwent(FILE *>I<stream>B<);>\n"
335
336 #. type: Plain text
337 #: build/C/man3/fgetpwent.3:52
338 msgid "B<fgetpwent>(): _SVID_SOURCE"
339 msgstr "B<fgetpwent>(): _SVID_SOURCE"
340
341 #. type: Plain text
342 #: build/C/man3/fgetpwent.3:65
343 msgid ""
344 "The B<fgetpwent>()  function returns a pointer to a structure containing the "
345 "broken out fields of a line in the file I<stream>.  The first time it is "
346 "called it returns the first entry; thereafter, it returns successive "
347 "entries.  The file referred to by I<stream> must have the same format as I</"
348 "etc/passwd> (see B<passwd>(5))."
349 msgstr ""
350 "B<fgetpwent>()  関数は、I<stream> から得られた行を分解したフィールド を含む構"
351 "造体へのポインタを返す。 最初に呼び出された時には最初のエントリを返し、それ以"
352 "降は 次のエントリを返す。 I<stream> で参照されるファイルは I</etc/passwd> と"
353 "同じ形式でなければならない (B<passwd>(5)  参照)。"
354
355 #. type: Plain text
356 #: build/C/man3/fgetpwent.3:67 build/C/man3/getpw.3:55
357 #: build/C/man3/getpwent.3:86 build/C/man3/getpwent_r.3:67
358 #: build/C/man3/getpwnam.3:90 build/C/man3/putpwent.3:56
359 msgid "The I<passwd> structure is defined in I<E<lt>pwd.hE<gt>> as follows:"
360 msgstr "I<passwd> 構造体は、I<E<lt>pwd.hE<gt>> で以下のように定義されている:"
361
362 #. type: Plain text
363 #: build/C/man3/fgetpwent.3:79
364 #, no-wrap
365 msgid ""
366 "struct passwd {\n"
367 "    char   *pw_name;       /* username */\n"
368 "    char   *pw_passwd;     /* user password */\n"
369 "    uid_t   pw_uid;        /* user ID */\n"
370 "    gid_t   pw_gid;        /* group ID */\n"
371 "    char   *pw_gecos;      /* real name */\n"
372 "    char   *pw_dir;        /* home directory */\n"
373 "    char   *pw_shell;      /* shell program */\n"
374 "};\n"
375 msgstr ""
376 "struct passwd {\n"
377 "    char   *pw_name;       /* ユーザ名 */\n"
378 "    char   *pw_passwd;     /* ユーザのパスワード */\n"
379 "    uid_t   pw_uid;        /* ユーザ ID */\n"
380 "    gid_t   pw_gid;        /* グループ ID */\n"
381 "    char   *pw_gecos;      /* 実名 */\n"
382 "    char   *pw_dir;        /* ホームディレクトリ */\n"
383 "    char   *pw_shell;      /* シェルプログラム */\n"
384 "};\n"
385
386 #. type: Plain text
387 #: build/C/man3/fgetpwent.3:91
388 msgid ""
389 "The B<fgetpwent>()  function returns a pointer to a I<passwd> structure, or "
390 "NULL if there are no more entries or an error occurs.  In the event of an "
391 "error, I<errno> is set to indicate the cause."
392 msgstr ""
393 "B<fgetpwent>()  関数は、 I<passwd> 構造体へのポインタを返す。 これ以上エント"
394 "リが無いか、エラーが発生した場合は NULL を返す。 エラーの場合、 I<errno> に原"
395 "因を示す値が設定される。"
396
397 #.  not in POSIX
398 #.  This structure is static, allocated 0 or 1 times. No memory leak. (libc45)
399 #. type: Plain text
400 #: build/C/man3/fgetpwent.3:97 build/C/man3/getpw.3:92
401 #: build/C/man3/getpwent.3:147 build/C/man3/getpwnam.3:210
402 msgid "Insufficient memory to allocate I<passwd> structure."
403 msgstr "I<passwd> 構造体に割り当てるメモリが十分なかった。"
404
405 #. type: SH
406 #: build/C/man3/fgetpwent.3:97 build/C/man5/ftpusers.5:47
407 #: build/C/man3/getgrent.3:151 build/C/man3/getgrnam.3:206
408 #: build/C/man3/getpw.3:92 build/C/man3/getpwent.3:150
409 #: build/C/man3/getpwnam.3:213 build/C/man3/getspnam.3:236
410 #: build/C/man5/group.5:53 build/C/man3/initgroups.3:84
411 #: build/C/man5/passwd.5:142 build/C/man3/setaliasent.3:95
412 #, no-wrap
413 msgid "FILES"
414 msgstr "ファイル"
415
416 #. type: Plain text
417 #: build/C/man3/fgetpwent.3:98 build/C/man3/getpw.3:93
418 #: build/C/man3/getpwent.3:151 build/C/man3/getpwnam.3:214
419 #: build/C/man5/passwd.5:144
420 #, no-wrap
421 msgid "I</etc/passwd>"
422 msgstr "I</etc/passwd>"
423
424 #. type: Plain text
425 #: build/C/man3/fgetpwent.3:101 build/C/man3/getpw.3:96
426 msgid "password database file"
427 msgstr "パスワードデータベースファイル"
428
429 #. type: Plain text
430 #: build/C/man3/fgetpwent.3:114
431 msgid ""
432 "B<endpwent>(3), B<fgetpwent_r>(3), B<fopen>(3), B<getpw>(3), B<getpwent>(3), "
433 "B<getpwnam>(3), B<getpwuid>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
434 msgstr ""
435 "B<endpwent>(3), B<fgetpwent_r>(3), B<fopen>(3), B<getpw>(3), B<getpwent>(3), "
436 "B<getpwnam>(3), B<getpwuid>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
437
438 #. type: TH
439 #: build/C/man5/ftpusers.5:19
440 #, no-wrap
441 msgid "FTPUSERS"
442 msgstr "FTPUSERS"
443
444 #. type: TH
445 #: build/C/man5/ftpusers.5:19
446 #, no-wrap
447 msgid "2000-08-27"
448 msgstr "2000-08-27"
449
450 #. type: TH
451 #: build/C/man5/ftpusers.5:19 build/C/man5/group.5:26 build/C/man5/passwd.5:30
452 #, no-wrap
453 msgid "Linux"
454 msgstr "Linux"
455
456 #. type: Plain text
457 #: build/C/man5/ftpusers.5:22
458 msgid "ftpusers - list of users that may not log in via the FTP daemon"
459 msgstr "ftpusers - FTP デーモン経由でのログインを許さないユーザーのリスト"
460
461 #. type: Plain text
462 #: build/C/man5/ftpusers.5:41
463 msgid ""
464 "The text file B<ftpusers> contains a list of users that may not log in using "
465 "the File Transfer Protocol (FTP) server daemon.  This file is used not "
466 "merely for system administration purposes but for improving security within "
467 "a TCP/IP networked environment.  It will typically contain a list of the "
468 "users that either have no business using ftp or have too many privileges to "
469 "be allowed to log in through the FTP server daemon.  Such users usually "
470 "include root, daemon, bin, uucp, and news.  If your FTP server daemon "
471 "doesn't use B<ftpusers> then it is suggested that you read its documentation "
472 "to find out how to block access for certain users.  Washington University "
473 "FTP server Daemon (wuftpd) and Professional FTP Daemon (proftpd) are known "
474 "to make use of B<ftpusers>."
475 msgstr ""
476 "B<ftpusers> はテキストファイルで、File Transfer Protocol (FTP) サーバーデーモ"
477 "ン を利用してのログインを許さないユーザーをリストしたものである。 このファイ"
478 "ルは単にシステム管理のためだけでなく、 TCP/IP ネットワーク環境でのセキュリ"
479 "ティを向上させるのにも利用できる。 通常は、ftp を用いた作業を行わないユーザー"
480 "や、 FTP サーバーデーモン経由でのログインを許すには 権限が大きすぎるユーザー"
481 "をリストしておく。 このようなユーザーには、例えば root, daemon, bin, uucp, "
482 "news などが含まれる。 お使いの FTP サーバーデーモンが B<ftpusers> を用いない"
483 "場合は、そのデーモンのドキュメントを読んで、 特定のユーザーのアクセスをブロッ"
484 "クするやり方を学んでおくことをすすめる。 Washington University FTP サーバー"
485 "デーモン (wuftpd) と Professional FTP デーモン (proftpd) とは、 B<ftpusers> "
486 "を利用することがわかっている。"
487
488 #. type: SS
489 #: build/C/man5/ftpusers.5:41
490 #, no-wrap
491 msgid "Format"
492 msgstr "フォーマット"
493
494 #. type: Plain text
495 #: build/C/man5/ftpusers.5:47
496 msgid ""
497 "The format of B<ftpusers> is very simple.  There is one account name (or "
498 "username) per line.  Lines starting with a # are ignored."
499 msgstr ""
500 "B<ftpusers> のフォーマットは非常に単純であり、 アカウント名 (またはユーザー"
501 "名) を各行に書くだけである。 # で始まる行は無視される。"
502
503 #. type: Plain text
504 #: build/C/man5/ftpusers.5:49
505 msgid "I</etc/ftpusers>"
506 msgstr "I</etc/ftpusers>"
507
508 #. type: Plain text
509 #: build/C/man5/ftpusers.5:53
510 msgid "B<passwd>(5), B<proftpd>(8), B<wuftpd>(8)"
511 msgstr "B<passwd>(5), B<proftpd>(8), B<wuftpd>(8)"
512
513 #. type: TH
514 #: build/C/man3/getgrent.3:30
515 #, no-wrap
516 msgid "GETGRENT"
517 msgstr "GETGRENT"
518
519 #. type: TH
520 #: build/C/man3/getgrent.3:30 build/C/man3/getpwent.3:33
521 #, no-wrap
522 msgid "2013-06-21"
523 msgstr "2013-06-21"
524
525 #. type: Plain text
526 #: build/C/man3/getgrent.3:33
527 msgid "getgrent, setgrent, endgrent - get group file entry"
528 msgstr "getgrent, setgrent, endgrent - グループファイルエントリの取得"
529
530 #. type: Plain text
531 #: build/C/man3/getgrent.3:37 build/C/man3/getgrnam.3:40
532 #: build/C/man3/initgroups.3:39
533 #, no-wrap
534 msgid ""
535 "B<#include E<lt>sys/types.hE<gt>>\n"
536 "B<#include E<lt>grp.hE<gt>>\n"
537 msgstr ""
538 "B<#include E<lt>sys/types.hE<gt>>\n"
539 "B<#include E<lt>grp.hE<gt>>\n"
540
541 #. type: Plain text
542 #: build/C/man3/getgrent.3:39
543 #, no-wrap
544 msgid "B<struct group *getgrent(void);>\n"
545 msgstr "B<struct group *getgrent(void);>\n"
546
547 #. type: Plain text
548 #: build/C/man3/getgrent.3:41
549 #, no-wrap
550 msgid "B<void setgrent(void);>\n"
551 msgstr "B<void setgrent(void);>\n"
552
553 #. type: Plain text
554 #: build/C/man3/getgrent.3:43
555 #, no-wrap
556 msgid "B<void endgrent(void);>\n"
557 msgstr "B<void endgrent(void);>\n"
558
559 #. type: Plain text
560 #: build/C/man3/getgrent.3:53
561 msgid "B<setgrent>():"
562 msgstr "B<setgrent>():"
563
564 #. type: Plain text
565 #: build/C/man3/getgrent.3:56
566 msgid ""
567 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
568 "\\ &&\\ _XOPEN_SOURCE_EXTENDED ||"
569 msgstr ""
570 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
571 "\\ &&\\ _XOPEN_SOURCE_EXTENDED ||"
572
573 #. type: Plain text
574 #: build/C/man3/getgrent.3:58
575 msgid "/* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
576 msgstr "/* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
577
578 #. type: Plain text
579 #: build/C/man3/getgrent.3:62
580 msgid "B<getgrent>(), B<endgrent>():"
581 msgstr "B<getgrent>(), B<endgrent>():"
582
583 #. type: Plain text
584 #: build/C/man3/getgrent.3:65
585 msgid ""
586 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
587 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
588 msgstr ""
589 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
590 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
591
592 #. type: Plain text
593 #: build/C/man3/getgrent.3:80
594 msgid ""
595 "The B<getgrent>()  function returns a pointer to a structure containing the "
596 "broken-out fields of a record in the group database (e.g., the local group "
597 "file I</etc/group>, NIS, and LDAP).  The first time B<getgrent>()  is "
598 "called, it returns the first entry; thereafter, it returns successive "
599 "entries."
600 msgstr ""
601 "B<getgrent>()  関数は、グループ・データベースから取得したエントリを 要素毎に"
602 "分解し、各要素を格納した構造体へのポインタを返す (グループ・データベースの"
603 "例: ローカルのグループファイル I</etc/group>, NIS, LDAP)。 B<getgrent>()  "
604 "は、最初に呼び出された時は最初のエントリを返し、 それ以降は呼び出される毎に次"
605 "のエントリを返す。"
606
607 #. type: Plain text
608 #: build/C/man3/getgrent.3:85
609 msgid ""
610 "The B<setgrent>()  function rewinds to the beginning of the group database, "
611 "to allow repeated scans."
612 msgstr ""
613 "B<setgrent>()  関数を使うと、もう一度読み込めるように、 グループ・データベー"
614 "スの先頭に戻る。"
615
616 #. type: Plain text
617 #: build/C/man3/getgrent.3:90
618 msgid ""
619 "The B<endgrent>()  function is used to close the group database after all "
620 "processing has been performed."
621 msgstr ""
622 "B<endgrent>()  関数は、全ての処理が終わった後にグループ・ データベースをク"
623 "ローズする。"
624
625 #. type: Plain text
626 #: build/C/man3/getgrent.3:101 build/C/man3/getgrnam.3:95
627 #, no-wrap
628 msgid ""
629 "struct group {\n"
630 "    char   *gr_name;       /* group name */\n"
631 "    char   *gr_passwd;     /* group password */\n"
632 "    gid_t   gr_gid;        /* group ID */\n"
633 "    char  **gr_mem;        /* group members */\n"
634 "};\n"
635 msgstr ""
636 "struct group {\n"
637 "    char   *gr_name;       /* グループ名 */\n"
638 "    char   *gr_passwd;     /* グループのパスワード */\n"
639 "    gid_t   gr_gid;        /* グループ ID */\n"
640 "    char  **gr_mem;        /* グループのメンバ */\n"
641 "};\n"
642
643 #. type: Plain text
644 #: build/C/man3/getgrent.3:106 build/C/man3/getgrent_r.3:82
645 #: build/C/man3/getgrnam.3:100
646 msgid ""
647 "For more information about the fields of this structure, see B<group>(5)."
648 msgstr "この構造体のフィールドの詳細は B<group>(5)  を参照のこと。"
649
650 #. type: Plain text
651 #: build/C/man3/getgrent.3:113
652 msgid ""
653 "The B<getgrent>()  function returns a pointer to a I<group> structure, or "
654 "NULL if there are no more entries or an error occurs."
655 msgstr ""
656 "B<getgrent>()  関数は I<group> 構造体へのポインタを返す。 これ以上エントリが"
657 "無いか、エラーが発生した場合は NULL を返す。"
658
659 #. type: Plain text
660 #: build/C/man3/getgrent.3:120
661 msgid ""
662 "Upon error, I<errno> may be set.  If one wants to check I<errno> after the "
663 "call, it should be set to zero before the call."
664 msgstr ""
665 "エラーが発生すると、 I<errno> が適切に設定される。 この関数の呼び出し後に "
666 "I<errno> をチェックしたい場合は、呼び出し前に I<errno> を 0 に設定しておかな"
667 "いといけない。"
668
669 #. type: Plain text
670 #: build/C/man3/getgrent.3:129
671 msgid ""
672 "The return value may point to a static area, and may be overwritten by "
673 "subsequent calls to B<getgrent>(), B<getgrgid>(3), or B<getgrnam>(3).  (Do "
674 "not pass the returned pointer to B<free>(3).)"
675 msgstr ""
676 "返り値は静的な領域を指しており、その後の B<getgrent>(), B<getgrgid>(3), "
677 "B<getgrnam>(3)  の呼び出しで上書きされるかもしれない。 (返されたポインタを "
678 "B<free>(3)  に渡さないこと。)"
679
680 #. type: TP
681 #: build/C/man3/getgrent.3:130 build/C/man3/getgrnam.3:182
682 #: build/C/man3/getpwent.3:126 build/C/man3/getpwnam.3:189
683 #, no-wrap
684 msgid "B<EINTR>"
685 msgstr "B<EINTR>"
686
687 #. type: Plain text
688 #: build/C/man3/getgrent.3:133 build/C/man3/getgrnam.3:185
689 #: build/C/man3/getpwent.3:129 build/C/man3/getpwnam.3:192
690 msgid "A signal was caught."
691 msgstr "シグナルが捕捉された。"
692
693 #. type: TP
694 #: build/C/man3/getgrent.3:133 build/C/man3/getgrnam.3:185
695 #: build/C/man3/getpwent.3:129 build/C/man3/getpwnam.3:192
696 #, no-wrap
697 msgid "B<EIO>"
698 msgstr "B<EIO>"
699
700 #. type: Plain text
701 #: build/C/man3/getgrent.3:136 build/C/man3/getgrnam.3:188
702 #: build/C/man3/getpwent.3:132 build/C/man3/getpwnam.3:195
703 msgid "I/O error."
704 msgstr "I/O エラー。"
705
706 #. type: TP
707 #: build/C/man3/getgrent.3:136 build/C/man3/getgrnam.3:188
708 #: build/C/man3/getpwent.3:132 build/C/man3/getpwnam.3:195
709 #, no-wrap
710 msgid "B<EMFILE>"
711 msgstr "B<EMFILE>"
712
713 #. type: Plain text
714 #: build/C/man3/getgrent.3:139
715 msgid "The calling process already has too many open files."
716 msgstr "呼び出したプロセスが既にファイルをオープンし過ぎている。"
717
718 #. type: TP
719 #: build/C/man3/getgrent.3:139 build/C/man3/getgrnam.3:193
720 #: build/C/man3/getpwent.3:137 build/C/man3/getpwnam.3:200
721 #, no-wrap
722 msgid "B<ENFILE>"
723 msgstr "B<ENFILE>"
724
725 #. type: Plain text
726 #: build/C/man3/getgrent.3:142
727 msgid "Too many open files in the system."
728 msgstr "システム上にオープンされたファイルが多過ぎる。"
729
730 #. type: TP
731 #: build/C/man3/getgrent.3:148 build/C/man3/getgrent_r.3:112
732 #: build/C/man3/getgrnam.3:203 build/C/man3/getpwent.3:147
733 #: build/C/man3/getpwent_r.3:114 build/C/man3/getpwnam.3:210
734 #: build/C/man3/getspnam.3:233
735 #, no-wrap
736 msgid "B<ERANGE>"
737 msgstr "B<ERANGE>"
738
739 #. type: Plain text
740 #: build/C/man3/getgrent.3:151 build/C/man3/getgrnam.3:206
741 #: build/C/man3/getpwent.3:150 build/C/man3/getpwnam.3:213
742 msgid "Insufficient buffer space supplied."
743 msgstr "与えられたバッファ空間が不十分である。"
744
745 #. type: TP
746 #: build/C/man3/getgrent.3:152 build/C/man3/getgrnam.3:207
747 #, no-wrap
748 msgid "I</etc/group>"
749 msgstr "I</etc/group>"
750
751 #. type: Plain text
752 #: build/C/man3/getgrent.3:155 build/C/man3/getgrnam.3:210
753 msgid "local group database file"
754 msgstr "ローカルのグループ・データベースファイル"
755
756 #. type: SH
757 #: build/C/man3/getgrent.3:155 build/C/man3/getgrnam.3:210
758 #: build/C/man3/getpwent.3:154 build/C/man3/getpwnam.3:217
759 #, no-wrap
760 msgid "ATTRIBUTES"
761 msgstr "属性"
762
763 #. type: SS
764 #: build/C/man3/getgrent.3:156 build/C/man3/getgrnam.3:211
765 #: build/C/man3/getpwent.3:155 build/C/man3/getpwnam.3:218
766 #, no-wrap
767 msgid "Multithreading (see pthreads(7))"
768 msgstr "マルチスレッディング (pthreads(7) 参照)"
769
770 #. type: Plain text
771 #: build/C/man3/getgrent.3:160
772 msgid "The B<getgrent()> function is not thread-safe."
773 msgstr "B<getgrent()> 関数はスレッドセーフではない。"
774
775 #. type: Plain text
776 #: build/C/man3/getgrent.3:166
777 msgid "The B<setgrent()> and B<endgrent()> functions are thread-safe."
778 msgstr "関数 B<setgrent()> と B<endgrent()> はスレッドセーフである。"
779
780 #. type: Plain text
781 #: build/C/man3/getgrent.3:168 build/C/man3/getgrnam.3:225
782 msgid "SVr4, 4.3BSD, POSIX.1-2001."
783 msgstr "SVr4, 4.3BSD, POSIX.1-2001."
784
785 #. type: Plain text
786 #: build/C/man3/getgrent.3:176
787 msgid ""
788 "B<fgetgrent>(3), B<getgrent_r>(3), B<getgrgid>(3), B<getgrnam>(3), "
789 "B<getgrouplist>(3), B<putgrent>(3), B<group>(5)"
790 msgstr ""
791 "B<fgetgrent>(3), B<getgrent_r>(3), B<getgrgid>(3), B<getgrnam>(3)  "
792 "B<getgrouplist>(3), B<putgrent>(3), B<group>(5)"
793
794 #. type: TH
795 #: build/C/man3/getgrent_r.3:24
796 #, no-wrap
797 msgid "GETGRENT_R"
798 msgstr "GETGRENT_R"
799
800 #. type: TH
801 #: build/C/man3/getgrent_r.3:24 build/C/man3/getpw.3:32
802 #: build/C/man3/getpwent_r.3:24 build/C/man5/group.5:26
803 #, no-wrap
804 msgid "2010-10-21"
805 msgstr "2010-10-21"
806
807 #. type: Plain text
808 #: build/C/man3/getgrent_r.3:27
809 msgid "getgrent_r, fgetgrent_r - get group file entry reentrantly"
810 msgstr ""
811 "getgrent_r, fgetgrent_r - グループファイルエントリをリエントラント "
812 "(reentrant) に取り出す"
813
814 #. type: Plain text
815 #: build/C/man3/getgrent_r.3:30
816 #, no-wrap
817 msgid "B<#include E<lt>grp.hE<gt>>\n"
818 msgstr "B<#include E<lt>grp.hE<gt>>\n"
819
820 #. type: Plain text
821 #: build/C/man3/getgrent_r.3:32
822 #, no-wrap
823 msgid "B<int getgrent_r(struct group *>I<gbuf>B<, char *>I<buf>B<,>\n"
824 msgstr "B<int getgrent_r(struct group *>I<gbuf>B<, char *>I<buf>B<,>\n"
825
826 #. type: Plain text
827 #: build/C/man3/getgrent_r.3:34
828 #, no-wrap
829 msgid "B<               size_t >I<buflen>B<, struct group **>I<gbufp>B<);>\n"
830 msgstr "B<               size_t >I<buflen>B<, struct group **>I<gbufp>B<);>\n"
831
832 #. type: Plain text
833 #: build/C/man3/getgrent_r.3:36
834 #, no-wrap
835 msgid "B<int fgetgrent_r(FILE *>I<fp>B<, struct group *>I<gbuf>B<, char *>I<buf>B<,>\n"
836 msgstr "B<int fgetgrent_r(FILE *>I<fp>B<, struct group *>I<gbuf>B<, char *>I<buf>B<,>\n"
837
838 #. type: Plain text
839 #: build/C/man3/getgrent_r.3:38
840 #, no-wrap
841 msgid "B<                size_t >I<buflen>B<, struct group **>I<gbufp>B<);>\n"
842 msgstr "B<                size_t >I<buflen>B<, struct group **>I<gbufp>B<);>\n"
843
844 #.  FIXME . The FTM requirements seem inconsistent here.  File a glibc bug?
845 #. type: Plain text
846 #: build/C/man3/getgrent_r.3:48
847 msgid "B<getgrent_r>(): _GNU_SOURCE"
848 msgstr "B<getgrent_r>(): _GNU_SOURCE"
849
850 #. type: Plain text
851 #: build/C/man3/getgrent_r.3:51
852 msgid "B<fgetgrent_r>(): _SVID_SOURCE"
853 msgstr "B<fgetgrent_r>(): _SVID_SOURCE"
854
855 #. type: Plain text
856 #: build/C/man3/getgrent_r.3:64
857 msgid ""
858 "The functions B<getgrent_r>()  and B<fgetgrent_r>()  are the reentrant "
859 "versions of B<getgrent>(3)  and B<fgetgrent>(3).  The former reads the next "
860 "group entry from the stream initialized by B<setgrent>(3).  The latter reads "
861 "the next group entry from the stream I<fp>."
862 msgstr ""
863 "関数 B<getgrent_r>()  と B<fgetgrent_r>()  は B<getgrent>(3)  と B<fgetgrent>"
864 "(3)  のリエントラント版である。 前者は、 B<setgrent>(3)  によって初期化された"
865 "ストリームから、次のグループファイルのエントリを読み込む。 後者は、ストリー"
866 "ム I<fp> から次のグループファイルのエントリを読み込む。"
867
868 #. type: Plain text
869 #: build/C/man3/getgrent_r.3:77
870 #, no-wrap
871 msgid ""
872 "struct group {\n"
873 "    char    *gr_name;     /* group name */\n"
874 "    char    *gr_passwd;   /* group password */\n"
875 "    gid_t    gr_gid;      /* group ID */\n"
876 "    char   **gr_mem;      /* group members */\n"
877 "};\n"
878 msgstr ""
879 "struct group {\n"
880 "    char    *gr_name;     /* グループ名 */\n"
881 "    char    *gr_passwd;   /* グループパスワード */\n"
882 "    gid_t    gr_gid;      /* グループ ID */\n"
883 "    char   **gr_mem;      /* グループメンバ */\n"
884 "};\n"
885
886 #. type: Plain text
887 #: build/C/man3/getgrent_r.3:101
888 msgid ""
889 "The nonreentrant functions return a pointer to static storage, where this "
890 "static storage contains further pointers to group name, password and "
891 "members.  The reentrant functions described here return all of that in "
892 "caller-provided buffers.  First of all there is the buffer I<gbuf> that can "
893 "hold a I<struct group>.  And next the buffer I<buf> of size I<buflen> that "
894 "can hold additional strings.  The result of these functions, the I<struct "
895 "group> read from the stream, is stored in the provided buffer I<*gbuf>, and "
896 "a pointer to this I<struct group> is returned in I<*gbufp>."
897 msgstr ""
898 "リエントラントでない関数は静的な格納領域へのポインタを返す。 この静的な格納領"
899 "域には、更にグループ名・パスワード・ メンバへのポインタが含まれる。 ここで説"
900 "明されているリエントラントな関数は、 呼び出し側から提供されるバッファにグルー"
901 "プ名など全てを返す。 最初の引き数として I<struct group> を保持できるバッファ "
902 "I<gbuf> がある。 次にその他の文字列を保持できるサイズ I<buflen> のバッファ "
903 "I<buf> がある。 これらの関数の結果 (ストリームから読み込まれた I<struct "
904 "group>) は、 提供されたバッファ I<*gbuf> に格納され、この I<struct group> へ"
905 "のポインタは I<*gbufp> に返される。"
906
907 #. type: Plain text
908 #: build/C/man3/getgrent_r.3:108
909 msgid ""
910 "On success, these functions return 0 and I<*gbufp> is a pointer to the "
911 "I<struct group>.  On error, these functions return an error value and "
912 "I<*gbufp> is NULL."
913 msgstr ""
914 "成功した場合、これらの関数は 0 を返し、 *I<gbufp> は I<struct group> へのポイ"
915 "ンタとなる。 エラーの場合、これらの関数はエラー値を返し、 *I<gbufp> は NULL "
916 "になる。"
917
918 #. type: TP
919 #: build/C/man3/getgrent_r.3:109 build/C/man3/getpw.3:83
920 #: build/C/man3/getpwent_r.3:111
921 #, no-wrap
922 msgid "B<ENOENT>"
923 msgstr "B<ENOENT>"
924
925 #. type: Plain text
926 #: build/C/man3/getgrent_r.3:112 build/C/man3/getpwent_r.3:114
927 msgid "No more entries."
928 msgstr "次のエントリがない。"
929
930 #. type: Plain text
931 #: build/C/man3/getgrent_r.3:116 build/C/man3/getpwent_r.3:118
932 msgid "Insufficient buffer space supplied.  Try again with larger buffer."
933 msgstr ""
934 "十分なバッファ空間が与えられていない。 もっと大きなバッファで再度実行するこ"
935 "と。"
936
937 #. type: Plain text
938 #: build/C/man3/getgrent_r.3:121 build/C/man3/getpwent_r.3:123
939 msgid ""
940 "These functions are GNU extensions, done in a style resembling the POSIX "
941 "version of functions like B<getpwnam_r>(3).  Other systems use prototype"
942 msgstr ""
943 "これらの関数は GNU 拡張であり、POSIX 版の関数 B<getpwnam_r>(3)  の形式に似せ"
944 "てある。 他のシステムでは以下のプロトタイプが使われている。"
945
946 #. type: Plain text
947 #: build/C/man3/getgrent_r.3:126
948 #, no-wrap
949 msgid ""
950 "struct group *getgrent_r(struct group *grp, char *buf,\n"
951 "                         int buflen);\n"
952 msgstr ""
953 "struct group *getgrent_r(struct group *grp, char *buf,\n"
954 "                         int buflen);\n"
955
956 #. type: Plain text
957 #: build/C/man3/getgrent_r.3:130 build/C/man3/getpwent_r.3:132
958 msgid "or, better,"
959 msgstr "より良いものでは、以下のようになっている。"
960
961 #. type: Plain text
962 #: build/C/man3/getgrent_r.3:135
963 #, no-wrap
964 msgid ""
965 "int getgrent_r(struct group *grp, char *buf, int buflen,\n"
966 "               FILE **gr_fp);\n"
967 msgstr ""
968 "int getgrent_r(struct group *grp, char *buf, int buflen,\n"
969 "               FILE **gr_fp);\n"
970
971 #. type: SH
972 #: build/C/man3/getgrent_r.3:137 build/C/man3/getgrnam.3:225
973 #: build/C/man3/getpwent_r.3:140 build/C/man3/getpwnam.3:235
974 #: build/C/man5/passwd.5:144
975 #, no-wrap
976 msgid "NOTES"
977 msgstr "注意"
978
979 #. type: Plain text
980 #: build/C/man3/getgrent_r.3:142
981 msgid ""
982 "The function B<getgrent_r>()  is not really reentrant since it shares the "
983 "reading position in the stream with all other threads."
984 msgstr ""
985 "関数 B<getgrent_r>()  は本当のリエントラントではない。 なぜなら、ストリームの"
986 "読み込み位置を 他の全てのスレッドと共有しているためである。"
987
988 #. type: SH
989 #: build/C/man3/getgrent_r.3:142 build/C/man3/getgrouplist.3:109
990 #: build/C/man3/getpwent_r.3:145 build/C/man3/getpwnam.3:274
991 #: build/C/man3/setaliasent.3:115
992 #, no-wrap
993 msgid "EXAMPLE"
994 msgstr "例"
995
996 #. type: Plain text
997 #: build/C/man3/getgrent_r.3:149
998 #, no-wrap
999 msgid ""
1000 "#define _GNU_SOURCE\n"
1001 "#include E<lt>grp.hE<gt>\n"
1002 "#include E<lt>stdio.hE<gt>\n"
1003 "#include E<lt>stdlib.hE<gt>\n"
1004 "#define BUFLEN 4096\n"
1005 msgstr ""
1006 "#define _GNU_SOURCE\n"
1007 "#include E<lt>grp.hE<gt>\n"
1008 "#include E<lt>stdio.hE<gt>\n"
1009 "#include E<lt>stdlib.hE<gt>\n"
1010 "#define BUFLEN 4096\n"
1011
1012 #. type: Plain text
1013 #: build/C/man3/getgrent_r.3:156
1014 #, no-wrap
1015 msgid ""
1016 "int\n"
1017 "main(void)\n"
1018 "{\n"
1019 "    struct group grp, *grpp;\n"
1020 "    char buf[BUFLEN];\n"
1021 "    int i;\n"
1022 msgstr ""
1023 "int\n"
1024 "main(void)\n"
1025 "{\n"
1026 "    struct group grp, *grpp;\n"
1027 "    char buf[BUFLEN];\n"
1028 "    int i;\n"
1029
1030 #. type: Plain text
1031 #: build/C/man3/getgrent_r.3:173
1032 #, no-wrap
1033 msgid ""
1034 "    setgrent();\n"
1035 "    while (1) {\n"
1036 "        i = getgrent_r(&grp, buf, BUFLEN, &grpp);\n"
1037 "        if (i)\n"
1038 "            break;\n"
1039 "        printf(\"%s (%d):\", grpp-E<gt>gr_name, grpp-E<gt>gr_gid);\n"
1040 "        for (i = 0; ; i++) {\n"
1041 "            if (grpp-E<gt>gr_mem[i] == NULL)\n"
1042 "                break;\n"
1043 "            printf(\" %s\", grpp-E<gt>gr_mem[i]);\n"
1044 "        }\n"
1045 "        printf(\"\\en\");\n"
1046 "    }\n"
1047 "    endgrent();\n"
1048 "    exit(EXIT_SUCCESS);\n"
1049 "}\n"
1050 msgstr ""
1051 "    setgrent();\n"
1052 "    while (1) {\n"
1053 "        i = getgrent_r(&grp, buf, BUFLEN, &grpp);\n"
1054 "        if (i)\n"
1055 "            break;\n"
1056 "        printf(\"%s (%d):\", grpp-E<gt>gr_name, grpp-E<gt>gr_gid);\n"
1057 "        for (i = 0; ; i++) {\n"
1058 "            if (grpp-E<gt>gr_mem[i] == NULL)\n"
1059 "                break;\n"
1060 "            printf(\" %s\", grpp-E<gt>gr_mem[i]);\n"
1061 "        }\n"
1062 "        printf(\"\\en\");\n"
1063 "    }\n"
1064 "    endgrent();\n"
1065 "    exit(EXIT_SUCCESS);\n"
1066 "}\n"
1067
1068 #. type: Plain text
1069 #: build/C/man3/getgrent_r.3:190
1070 msgid ""
1071 "B<fgetgrent>(3), B<getgrent>(3), B<getgrgid>(3), B<getgrnam>(3), B<putgrent>"
1072 "(3), B<group>(5)"
1073 msgstr ""
1074 "B<fgetgrent>(3), B<getgrent>(3), B<getgrgid>(3), B<getgrnam>(3), B<putgrent>"
1075 "(3), B<group>(5)"
1076
1077 #. type: TH
1078 #: build/C/man3/getgrnam.3:33
1079 #, no-wrap
1080 msgid "GETGRNAM"
1081 msgstr "GETGRNAM"
1082
1083 #. type: TH
1084 #: build/C/man3/getgrnam.3:33 build/C/man3/getpwnam.3:37
1085 #, fuzzy, no-wrap
1086 #| msgid "2013-06-21"
1087 msgid "2013-07-22"
1088 msgstr "2013-06-21"
1089
1090 #. type: Plain text
1091 #: build/C/man3/getgrnam.3:36
1092 msgid "getgrnam, getgrnam_r, getgrgid, getgrgid_r - get group file entry"
1093 msgstr ""
1094 "getgrnam, getgrnam_r, getgrgid, getgrgid_r - グループファイルエントリの取り出"
1095 "し"
1096
1097 #. type: Plain text
1098 #: build/C/man3/getgrnam.3:42
1099 #, no-wrap
1100 msgid "B<struct group *getgrnam(const char *>I<name>B<);>\n"
1101 msgstr "B<struct group *getgrnam(const char *>I<name>B<);>\n"
1102
1103 #. type: Plain text
1104 #: build/C/man3/getgrnam.3:44
1105 #, no-wrap
1106 msgid "B<struct group *getgrgid(gid_t >I<gid>B<);>\n"
1107 msgstr "B<struct group *getgrgid(gid_t >I<gid>B<);>\n"
1108
1109 #. type: Plain text
1110 #: build/C/man3/getgrnam.3:46
1111 #, no-wrap
1112 msgid "B<int getgrnam_r(const char *>I<name>B<, struct group *>I<grp>B<,>\n"
1113 msgstr "B<int getgrnam_r(const char *>I<name>B<, struct group *>I<grp>B<,>\n"
1114
1115 #. type: Plain text
1116 #: build/C/man3/getgrnam.3:48 build/C/man3/getgrnam.3:52
1117 #, no-wrap
1118 msgid "B<          char *>I<buf>B<, size_t >I<buflen>B<, struct group **>I<result>B<);>\n"
1119 msgstr "B<          char *>I<buf>B<, size_t >I<buflen>B<, struct group **>I<result>B<);>\n"
1120
1121 #. type: Plain text
1122 #: build/C/man3/getgrnam.3:50
1123 #, no-wrap
1124 msgid "B<int getgrgid_r(gid_t >I<gid>B<, struct group *>I<grp>B<,>\n"
1125 msgstr "B<int getgrgid_r(gid_t >I<gid>B<, struct group *>I<grp>B<,>\n"
1126
1127 #. type: Plain text
1128 #: build/C/man3/getgrnam.3:62
1129 msgid "B<getgrnam_r>(), B<getgrgid_r>():"
1130 msgstr "B<getgrnam_r>(), B<getgrgid_r>():"
1131
1132 #. type: Plain text
1133 #: build/C/man3/getgrnam.3:65 build/C/man3/getpwnam.3:69
1134 msgid ""
1135 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
1136 "|| _POSIX_SOURCE"
1137 msgstr ""
1138 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
1139 "|| _POSIX_SOURCE"
1140
1141 #. type: Plain text
1142 #: build/C/man3/getgrnam.3:77
1143 msgid ""
1144 "The B<getgrnam>()  function returns a pointer to a structure containing the "
1145 "broken-out fields of the record in the group database (e.g., the local group "
1146 "file I</etc/group>, NIS, and LDAP)  that matches the group name I<name>."
1147 msgstr ""
1148 "B<getgrnam>()  関数は、グループ名 I<name> にマッチするグループ・データベース"
1149 "のエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返す (パス"
1150 "ワード・データベースの例: ローカルのグループファイル I</etc/group>, NIS, "
1151 "LDAP)。"
1152
1153 #. type: Plain text
1154 #: build/C/man3/getgrnam.3:84
1155 msgid ""
1156 "The B<getgrgid>()  function returns a pointer to a structure containing the "
1157 "broken-out fields of the record in the group database that matches the group "
1158 "ID I<gid>."
1159 msgstr ""
1160 "B<getgrgid>()  関数は、グループ ID I<uid> にマッチするグループ・データベース"
1161 "のエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返す。"
1162
1163 #. type: Plain text
1164 #: build/C/man3/getgrnam.3:123
1165 msgid ""
1166 "The B<getgrnam_r>()  and B<getgrgid_r>()  functions obtain the same "
1167 "information as B<getgrnam>()  and B<getgrgid>(), but store the retrieved "
1168 "I<group> structure in the space pointed to by I<grp>.  The string fields "
1169 "pointed to by the members of the I<group> structure are stored in the buffer "
1170 "I<buf> of size I<buflen>.  A pointer to the result (in case of success) or "
1171 "NULL (in case no entry was found or an error occurred) is stored in "
1172 "I<*result>."
1173 msgstr ""
1174 "B<getgrnam_r>() と B<getgrgid_r>() 関数は、それぞれ B<getgrnam>() と\n"
1175 "B<getgrgid>() と同じ情報を取得するが、取得した I<group> 構造体を\n"
1176 "I<grp> が指す領域に格納する。I<group> 構造体のメンバーが指す文字列は、\n"
1177 "サイズ I<buflen> のバッファ I<buf> に格納される。成功した場合\n"
1178 "I<*gbufp> には結果へのポインタが格納される。エントリが見つからなかった\n"
1179 "場合やエラーが発生した場合には I<*result> には NULL が入る。"
1180
1181 #. type: Plain text
1182 #: build/C/man3/getgrnam.3:125 build/C/man3/getpwnam.3:132
1183 msgid "The call"
1184 msgstr "呼び出し"
1185
1186 #. type: Plain text
1187 #: build/C/man3/getgrnam.3:127
1188 #, no-wrap
1189 msgid "    sysconf(_SC_GETGR_R_SIZE_MAX)\n"
1190 msgstr "    sysconf(_SC_GETGR_R_SIZE_MAX)\n"
1191
1192 #. type: Plain text
1193 #: build/C/man3/getgrnam.3:136 build/C/man3/getpwnam.3:143
1194 msgid ""
1195 "returns either -1, without changing I<errno>, or an initial suggested size "
1196 "for I<buf>.  (If this size is too small, the call fails with B<ERANGE>, in "
1197 "which case the caller can retry with a larger buffer.)"
1198 msgstr ""
1199 "は、 I<errno> を変更せずに -1 を返すか、 I<buf> の初期サイズの推奨値を\n"
1200 "返す。(このサイズが小さすぎる場合、呼び出しは B<ERANGE> で失敗し、この\n"
1201 "場合には呼び出し側はバッファを大きくしてから再度呼び出すことができる。)"
1202
1203 #. type: Plain text
1204 #: build/C/man3/getgrnam.3:151
1205 msgid ""
1206 "The B<getgrnam>()  and B<getgrgid>()  functions return a pointer to a "
1207 "I<group> structure, or NULL if the matching entry is not found or an error "
1208 "occurs.  If an error occurs, I<errno> is set appropriately.  If one wants to "
1209 "check I<errno> after the call, it should be set to zero before the call."
1210 msgstr ""
1211 "B<getgrnam>()  と B<getgrgid>()  関数は、 I<group> 構造体へのポインタを返"
1212 "す。 マッチするエントリが見つからなかった場合や、 エラーが発生した場合は "
1213 "NULL を返す。 エラーが起こった場合、 I<errno> が適切に設定される。 呼び出しの"
1214 "後で I<errno> をチェックしたい場合は、 呼び出しの前に (この値を) 0 に設定して"
1215 "おくべきである。"
1216
1217 #. type: Plain text
1218 #: build/C/man3/getgrnam.3:160
1219 msgid ""
1220 "The return value may point to a static area, and may be overwritten by "
1221 "subsequent calls to B<getgrent>(3), B<getgrgid>(), or B<getgrnam>().  (Do "
1222 "not pass the returned pointer to B<free>(3).)"
1223 msgstr ""
1224 "返り値は静的な領域を指しており、その後の B<getgrent>(3), B<getgrgid>(), "
1225 "B<getgrnam>()  の呼び出しで上書きされるかもしれない。 (返されたポインタを "
1226 "B<free>(3)  に渡さないこと。)"
1227
1228 #. type: Plain text
1229 #: build/C/man3/getgrnam.3:174
1230 msgid ""
1231 "On success, B<getgrnam_r>()  and B<getgrgid_r>()  return zero, and set "
1232 "I<*result> to I<grp>.  If no matching group record was found, these "
1233 "functions return 0 and store NULL in I<*result>.  In case of error, an error "
1234 "number is returned, and NULL is stored in I<*result>."
1235 msgstr ""
1236 "成功すると、 B<getgrnam_r>()  と B<getgrgid_r>()  は 0 を返し、 I<*result> "
1237 "に I<grp> を設定する。 マッチするグループ・エントリが見つからなかった場合に"
1238 "は、 0 を返し、 I<*result> に NULL を設定する。 エラーの場合、エラー番号を返"
1239 "し、 I<*result> に NULL を設定する。"
1240
1241 #. type: TP
1242 #: build/C/man3/getgrnam.3:175 build/C/man3/getpwnam.3:182
1243 #, no-wrap
1244 msgid "B<0> or B<ENOENT> or B<ESRCH> or B<EBADF> or B<EPERM> or ... "
1245 msgstr "B<0> または B<ENOENT> または B<ESRCH> または B<EBADF> または B<EPERM> または ... "
1246
1247 #. type: Plain text
1248 #: build/C/man3/getgrnam.3:182
1249 msgid "The given I<name> or I<gid> was not found."
1250 msgstr "指定された I<name> または I<gid> が見つからなかった。"
1251
1252 #. type: Plain text
1253 #: build/C/man3/getgrnam.3:193 build/C/man3/getpwent.3:137
1254 #: build/C/man3/getpwnam.3:200
1255 msgid ""
1256 "The maximum number (B<OPEN_MAX>)  of files was open already in the calling "
1257 "process."
1258 msgstr ""
1259 "呼び出し元プロセスがオープンしているファイル数が すでに上限 (B<OPEN_MAX>)  で"
1260 "あった。"
1261
1262 #. type: Plain text
1263 #: build/C/man3/getgrnam.3:196 build/C/man3/getpwent.3:140
1264 #: build/C/man3/getpwnam.3:203
1265 msgid "The maximum number of files was open already in the system."
1266 msgstr "システムでオープンされているファイル数がすでに上限であった。"
1267
1268 #. type: Plain text
1269 #: build/C/man3/getgrnam.3:217
1270 #, fuzzy
1271 #| msgid "The functions B<getgrnam>()  and B<getgrgid>()  are not thread-safe."
1272 msgid "The B<getgrnam>()  and B<getgrgid>()  functions are not thread-safe."
1273 msgstr "関数 B<getgrnam>() と B<getgrgid>() はスレッドセーフではない。"
1274
1275 #. type: Plain text
1276 #: build/C/man3/getgrnam.3:223
1277 #, fuzzy
1278 #| msgid "The functions B<getgrnam_r>()  and B<getgrgid_r>()  are thread-safe."
1279 msgid "The B<getgrnam_r>()  and B<getgrgid_r>()  functions are thread-safe."
1280 msgstr "関数 B<getgrnam_r>() と B<getgrgid_r>() はスレッドセーフである。"
1281
1282 #.  more precisely:
1283 #.  AIX 5.1 - gives ESRCH
1284 #.  OSF1 4.0g - gives EWOULDBLOCK
1285 #.  libc, glibc up to version 2.6, Irix 6.5 - give ENOENT
1286 #.  glibc since version 2.7 - give 0
1287 #.  FreeBSD 4.8, OpenBSD 3.2, NetBSD 1.6 - give EPERM
1288 #.  SunOS 5.8 - gives EBADF
1289 #.  Tru64 5.1b, HP-UX-11i, SunOS 5.7 - give 0
1290 #. type: Plain text
1291 #: build/C/man3/getgrnam.3:246
1292 msgid ""
1293 "The formulation given above under \"RETURN VALUE\" is from POSIX.1-2001.  It "
1294 "does not call \"not found\" an error, hence does not specify what value "
1295 "I<errno> might have in this situation.  But that makes it impossible to "
1296 "recognize errors.  One might argue that according to POSIX I<errno> should "
1297 "be left unchanged if an entry is not found.  Experiments on various UNIX-"
1298 "like systems shows that lots of different values occur in this situation: 0, "
1299 "ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM and probably others."
1300 msgstr ""
1301 "上記の「返り値」以下の記述は POSIX.1-2001 に拠る。 この標準は「(エントリが) "
1302 "見つからないこと」をエラーとしていないので、 そのような場合に I<errno> がどの"
1303 "ような値になるかを定めていない。 そのため、エラーを認識することは不可能であ"
1304 "る。 POSIX に準拠して、エントリが見つからない場合は I<errno> を変更しないよう"
1305 "にすべきである、と主張する人もいるかもしれない。 様々な UNIX 系のシステムで試"
1306 "してみると、そのような場合には 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM と"
1307 "いった様々な値が返される。 他の値が返されるかもしれない。"
1308
1309 #. type: Plain text
1310 #: build/C/man3/getgrnam.3:253
1311 msgid ""
1312 "B<endgrent>(3), B<fgetgrent>(3), B<getgrent>(3), B<getpwnam>(3), B<setgrent>"
1313 "(3), B<group>(5)"
1314 msgstr ""
1315 "B<endgrent>(3), B<fgetgrent>(3), B<getgrent>(3), B<getpwnam>(3), B<setgrent>"
1316 "(3), B<group>(5)"
1317
1318 #. type: TH
1319 #: build/C/man3/getgrouplist.3:29
1320 #, no-wrap
1321 msgid "GETGROUPLIST"
1322 msgstr "GETGROUPLIST"
1323
1324 #. type: TH
1325 #: build/C/man3/getgrouplist.3:29
1326 #, no-wrap
1327 msgid "2008-07-03"
1328 msgstr "2009-07-03"
1329
1330 #. type: Plain text
1331 #: build/C/man3/getgrouplist.3:32
1332 msgid "getgrouplist - get list of groups to which a user belongs"
1333 msgstr "getgrouplist - ユーザが所属するグループのリストを取得する"
1334
1335 #. type: Plain text
1336 #: build/C/man3/getgrouplist.3:34 build/C/man3/putgrent.3:14
1337 msgid "B<#include E<lt>grp.hE<gt>>"
1338 msgstr "B<#include E<lt>grp.hE<gt>>"
1339
1340 #. type: Plain text
1341 #: build/C/man3/getgrouplist.3:36
1342 msgid "B<int getgrouplist(const char *>I<user>B<, gid_t >I<group>B<,>"
1343 msgstr "B<int getgrouplist(const char *>I<user>B<, gid_t >I<group>B<,>"
1344
1345 #. type: Plain text
1346 #: build/C/man3/getgrouplist.3:38
1347 msgid "B< gid_t *>I<groups>B<, int *>I<ngroups>B<);>"
1348 msgstr "B< gid_t *>I<groups>B<, int *>I<ngroups>B<);>"
1349
1350 #. type: Plain text
1351 #: build/C/man3/getgrouplist.3:46
1352 msgid "B<getgrouplist>(): _BSD_SOURCE"
1353 msgstr "B<getgrouplist>(): _BSD_SOURCE"
1354
1355 #. type: Plain text
1356 #: build/C/man3/getgrouplist.3:58
1357 msgid ""
1358 "The B<getgrouplist>()  function scans the group database (see B<group>(5))  "
1359 "to obtain the list of groups that I<user> belongs to.  Up to I<*ngroups> of "
1360 "these groups are returned in the array I<groups>."
1361 msgstr ""
1362 "B<getgrouplist>()  関数は、グループデータベース (B<group>(5)  参照) を調べ"
1363 "て、 I<user> が所属するグループのリストを取得する。 見つかったグループのうち"
1364 "最大 I<*ngroups> 個のグループが、配列 I<groups> に格納されて返される。"
1365
1366 #. type: Plain text
1367 #: build/C/man3/getgrouplist.3:68
1368 msgid ""
1369 "If it was not among the groups defined for I<user> in the group database, "
1370 "then I<group> is included in the list of groups returned by B<getgrouplist>"
1371 "(); typically this argument is specified as the group ID from the password "
1372 "record for I<user>."
1373 msgstr ""
1374 "引き数 I<group> がグループデータベースに I<user> が所属するグループがなかった"
1375 "場合、 B<getgrouplist>()  が返すグループのリストに引き数 I<group> も追加され"
1376 "る。 通常は、この引き数にはユーザ I<user> のパスワードレコードに書かれている"
1377 "グループ ID を指定する。"
1378
1379 #. type: Plain text
1380 #: build/C/man3/getgrouplist.3:78
1381 msgid ""
1382 "The I<ngroups> argument is a value-result argument: on return it always "
1383 "contains the number of groups found for I<user>, including I<group>; this "
1384 "value may be greater than the number of groups stored in I<groups>."
1385 msgstr ""
1386 "引き数 I<ngroups> は、値渡しと結果の両方に使用される引き数 (value-result "
1387 "argument) であり、 リターン時には、常に I<group> も含めた I<user> が所属する"
1388 "グループ数が格納される。 この値は I<groups> に格納されたグループ数より大きく"
1389 "なる可能性がある。"
1390
1391 #. type: Plain text
1392 #: build/C/man3/getgrouplist.3:86
1393 msgid ""
1394 "If the number of groups of which I<user> is a member is less than or equal "
1395 "to I<*ngroups>, then the value I<*ngroups> is returned."
1396 msgstr ""
1397 "I<user> が所属しているグループ数が I<*ngroups> 以下の場合、 I<*ngroups> の値"
1398 "が返される。"
1399
1400 #. type: Plain text
1401 #: build/C/man3/getgrouplist.3:96
1402 msgid ""
1403 "If the user is a member of more than I<*ngroups> groups, then B<getgrouplist>"
1404 "()  returns -1.  In this case the value returned in I<*ngroups> can be used "
1405 "to resize the buffer passed to a further call B<getgrouplist>()."
1406 msgstr ""
1407 "指定されたユーザが I<*ngroups> より多くのグループに所属している場合、 "
1408 "B<getgrouplist>()  は -1 を返す。 この場合、 I<*ngroups> で返される値を使っ"
1409 "て、バッファのサイズを変更してから、 B<getgrouplist>()  をもう一度呼び出すこ"
1410 "とができる。"
1411
1412 #. type: SH
1413 #: build/C/man3/getgrouplist.3:96
1414 #, no-wrap
1415 msgid "VERSIONS"
1416 msgstr "バージョン"
1417
1418 #. type: Plain text
1419 #: build/C/man3/getgrouplist.3:98
1420 msgid "This function is present since glibc 2.2.4."
1421 msgstr "この関数は glibc 2.2.4 から存在する。"
1422
1423 #. type: Plain text
1424 #: build/C/man3/getgrouplist.3:100
1425 msgid "This function is nonstandard; it appears on most BSDs."
1426 msgstr "この関数は非標準である。ほとんどの BSD に存在する。"
1427
1428 #. type: SH
1429 #: build/C/man3/getgrouplist.3:100 build/C/man3/getpw.3:98
1430 #: build/C/man5/group.5:55
1431 #, no-wrap
1432 msgid "BUGS"
1433 msgstr "バグ"
1434
1435 #. type: Plain text
1436 #: build/C/man3/getgrouplist.3:109
1437 msgid ""
1438 "In glibc versions before 2.3.3, the implementation of this function contains "
1439 "a buffer-overrun bug: it returns the complete list of groups for I<user> in "
1440 "the array I<groups>, even when the number of groups exceeds I<*ngroups>."
1441 msgstr ""
1442 "バージョン 2.3.3 より前の glibc では、 この関数の実装にはバッファオーバーフ"
1443 "ローのバグがあり、 I<user> が所属するグループ数が I<*ngroups> より多い場合で"
1444 "あっても、 I<user> が所属するグループの全リストを配列 I<groups> に格納してし"
1445 "まう。"
1446
1447 #. type: Plain text
1448 #: build/C/man3/getgrouplist.3:118
1449 msgid ""
1450 "The program below displays the group list for the user named in its first "
1451 "command-line argument.  The second command-line argument specifies the "
1452 "I<ngroups> value to be supplied to B<getgrouplist>().  The following shell "
1453 "session shows examples of the use of this program:"
1454 msgstr ""
1455 "以下のプログラムは、一つ目のコマンドライン引き数で指定された名前のユーザ が所"
1456 "属するグループのリストを表示する。 二番目のコマンドライン引き数には、 "
1457 "B<getgrouplist>()  に渡す I<ngroups> の値を指定する。 以下のシェルのセッショ"
1458 "ンはこのプログラムの使用例を示したものである。"
1459
1460 #. type: Plain text
1461 #: build/C/man3/getgrouplist.3:128
1462 #, no-wrap
1463 msgid ""
1464 "$B< ./a.out cecilia 0>\n"
1465 "getgrouplist() returned -1; ngroups = 3\n"
1466 "$B< ./a.out cecilia 3>\n"
1467 "ngroups = 3\n"
1468 "16 (dialout)\n"
1469 "33 (video)\n"
1470 "100 (users)\n"
1471 msgstr ""
1472 "$B< ./a.out cecilia 0>\n"
1473 "getgrouplist() returned -1; ngroups = 3\n"
1474 "$B< ./a.out cecilia 3>\n"
1475 "ngroups = 3\n"
1476 "16 (dialout)\n"
1477 "33 (video)\n"
1478 "100 (users)\n"
1479
1480 #. type: SS
1481 #: build/C/man3/getgrouplist.3:130
1482 #, no-wrap
1483 msgid "Program source"
1484 msgstr "プログラムのソース"
1485
1486 #. type: Plain text
1487 #: build/C/man3/getgrouplist.3:137
1488 #, no-wrap
1489 msgid ""
1490 "#include E<lt>stdio.hE<gt>\n"
1491 "#include E<lt>stdlib.hE<gt>\n"
1492 "#include E<lt>grp.hE<gt>\n"
1493 "#include E<lt>pwd.hE<gt>\n"
1494 msgstr ""
1495 "#include E<lt>stdio.hE<gt>\n"
1496 "#include E<lt>stdlib.hE<gt>\n"
1497 "#include E<lt>grp.hE<gt>\n"
1498 "#include E<lt>pwd.hE<gt>\n"
1499
1500 #. type: Plain text
1501 #: build/C/man3/getgrouplist.3:145
1502 #, no-wrap
1503 msgid ""
1504 "int\n"
1505 "main(int argc, char *argv[])\n"
1506 "{\n"
1507 "    int j, ngroups;\n"
1508 "    gid_t *groups;\n"
1509 "    struct passwd *pw;\n"
1510 "    struct group *gr;\n"
1511 msgstr ""
1512 "int\n"
1513 "main(int argc, char *argv[])\n"
1514 "{\n"
1515 "    int j, ngroups;\n"
1516 "    gid_t *groups;\n"
1517 "    struct passwd *pw;\n"
1518 "    struct group *gr;\n"
1519
1520 #. type: Plain text
1521 #: build/C/man3/getgrouplist.3:150
1522 #, no-wrap
1523 msgid ""
1524 "    if (argc != 3) {\n"
1525 "        fprintf(stderr, \"Usage: %s E<lt>userE<gt> E<lt>ngroupsE<gt>\\en\", argv[0]);\n"
1526 "        exit(EXIT_FAILURE);\n"
1527 "    }\n"
1528 msgstr ""
1529 "    if (argc != 3) {\n"
1530 "        fprintf(stderr, \"Usage: %s E<lt>userE<gt> E<lt>ngroupsE<gt>\\en\", argv[0]);\n"
1531 "        exit(EXIT_FAILURE);\n"
1532 "    }\n"
1533
1534 #. type: Plain text
1535 #: build/C/man3/getgrouplist.3:152
1536 #, no-wrap
1537 msgid "    ngroups = atoi(argv[2]);\n"
1538 msgstr "    ngroups = atoi(argv[2]);\n"
1539
1540 #. type: Plain text
1541 #: build/C/man3/getgrouplist.3:158
1542 #, no-wrap
1543 msgid ""
1544 "    groups = malloc(ngroups * sizeof (gid_t));\n"
1545 "    if (groups == NULL) {\n"
1546 "        perror(\"malloc\");\n"
1547 "        exit(EXIT_FAILURE);\n"
1548 "    }\n"
1549 msgstr ""
1550 "    groups = malloc(ngroups * sizeof (gid_t));\n"
1551 "    if (groups == NULL) {\n"
1552 "        perror(\"malloc\");\n"
1553 "        exit(EXIT_FAILURE);\n"
1554 "    }\n"
1555
1556 #. type: Plain text
1557 #: build/C/man3/getgrouplist.3:160
1558 #, no-wrap
1559 msgid "    /* Fetch passwd structure (contains first group ID for user) */\n"
1560 msgstr "    /* Fetch passwd structure (contains first group ID for user) */\n"
1561
1562 #. type: Plain text
1563 #: build/C/man3/getgrouplist.3:166
1564 #, no-wrap
1565 msgid ""
1566 "    pw = getpwnam(argv[1]);\n"
1567 "    if (pw == NULL) {\n"
1568 "        perror(\"getpwnam\");\n"
1569 "        exit(EXIT_SUCCESS);\n"
1570 "    }\n"
1571 msgstr ""
1572 "    pw = getpwnam(argv[1]);\n"
1573 "    if (pw == NULL) {\n"
1574 "        perror(\"getpwnam\");\n"
1575 "        exit(EXIT_SUCCESS);\n"
1576 "    }\n"
1577
1578 #. type: Plain text
1579 #: build/C/man3/getgrouplist.3:168
1580 #, no-wrap
1581 msgid "    /* Retrieve group list */\n"
1582 msgstr "    /* Retrieve group list */\n"
1583
1584 #. type: Plain text
1585 #: build/C/man3/getgrouplist.3:174
1586 #, no-wrap
1587 msgid ""
1588 "    if (getgrouplist(argv[1], pw-E<gt>pw_gid, groups, &ngroups) == -1) {\n"
1589 "        fprintf(stderr, \"getgrouplist() returned -1; ngroups = %d\\en\",\n"
1590 "                ngroups);\n"
1591 "\texit(EXIT_FAILURE);\n"
1592 "    }\n"
1593 msgstr ""
1594 "    if (getgrouplist(argv[1], pw-E<gt>pw_gid, groups, &ngroups) == -1) {\n"
1595 "        fprintf(stderr, \"getgrouplist() returned -1; ngroups = %d\\en\",\n"
1596 "                ngroups);\n"
1597 "\texit(EXIT_FAILURE);\n"
1598 "    }\n"
1599
1600 #. type: Plain text
1601 #: build/C/man3/getgrouplist.3:176
1602 #, no-wrap
1603 msgid "    /* Display list of retrieved groups, along with group names */\n"
1604 msgstr "    /* Display list of retrieved groups, along with group names */\n"
1605
1606 #. type: Plain text
1607 #: build/C/man3/getgrouplist.3:185
1608 #, no-wrap
1609 msgid ""
1610 "    fprintf(stderr, \"ngroups = %d\\en\", ngroups);\n"
1611 "    for (j = 0; j E<lt> ngroups; j++) {\n"
1612 "        printf(\"%d\", groups[j]);\n"
1613 "        gr = getgrgid(groups[j]);\n"
1614 "        if (gr != NULL)\n"
1615 "            printf(\" (%s)\", gr-E<gt>gr_name);\n"
1616 "        printf(\"\\en\");\n"
1617 "    }\n"
1618 msgstr ""
1619 "    fprintf(stderr, \"ngroups = %d\\en\", ngroups);\n"
1620 "    for (j = 0; j E<lt> ngroups; j++) {\n"
1621 "        printf(\"%d\", groups[j]);\n"
1622 "        gr = getgrgid(groups[j]);\n"
1623 "        if (gr != NULL)\n"
1624 "            printf(\" (%s)\", gr-E<gt>gr_name);\n"
1625 "        printf(\"\\en\");\n"
1626 "    }\n"
1627
1628 #. type: Plain text
1629 #: build/C/man3/getgrouplist.3:188
1630 #, no-wrap
1631 msgid ""
1632 "    exit(EXIT_SUCCESS);\n"
1633 "}\n"
1634 msgstr ""
1635 "    exit(EXIT_SUCCESS);\n"
1636 "}\n"
1637
1638 #. type: Plain text
1639 #: build/C/man3/getgrouplist.3:195
1640 msgid ""
1641 "B<getgroups>(2), B<setgroups>(2), B<getgrent>(3), B<group>(5), B<passwd>(5)"
1642 msgstr ""
1643 "B<getgroups>(2), B<setgroups>(2), B<getgrent>(3), B<group>(5), B<passwd>(5)"
1644
1645 #. type: TH
1646 #: build/C/man3/getpw.3:32
1647 #, no-wrap
1648 msgid "GETPW"
1649 msgstr "GETPW"
1650
1651 #. type: Plain text
1652 #: build/C/man3/getpw.3:35
1653 msgid "getpw - reconstruct password line entry"
1654 msgstr "getpw - パスワード行エントリを取得する"
1655
1656 #. type: Plain text
1657 #: build/C/man3/getpw.3:40
1658 #, no-wrap
1659 msgid ""
1660 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
1661 "B<#include E<lt>sys/types.hE<gt>>\n"
1662 "B<#include E<lt>pwd.hE<gt>>\n"
1663 msgstr ""
1664 "B<#define _GNU_SOURCE>             /* feature_test_macros(7) 参照 */\n"
1665 "B<#include E<lt>sys/types.hE<gt>>\n"
1666 "B<#include E<lt>pwd.hE<gt>>\n"
1667
1668 #. type: Plain text
1669 #: build/C/man3/getpw.3:42
1670 #, no-wrap
1671 msgid "B<int getpw(uid_t >I<uid>B<, char *>I<buf>B<);>\n"
1672 msgstr "B<int getpw(uid_t >I<uid>B<, char *>I<buf>B<);>\n"
1673
1674 #. type: Plain text
1675 #: build/C/man3/getpw.3:49
1676 msgid ""
1677 "The B<getpw>()  function reconstructs the password line entry for the given "
1678 "user ID I<uid> in the buffer I<buf>.  The returned buffer contains a line of "
1679 "format"
1680 msgstr ""
1681 "B<getpw>()  関数は、バッファ I<buf> に指定ユーザ ID I<uid> の パスワード行エ"
1682 "ントリを取得する。 返されるバッファは、以下の形式の行を含む。"
1683
1684 #. type: Plain text
1685 #: build/C/man3/getpw.3:52
1686 msgid "B<name:passwd:uid:gid:gecos:dir:shell>"
1687 msgstr "B<name:passwd:uid:gid:gecos:dir:shell>"
1688
1689 #. type: Plain text
1690 #: build/C/man3/getpw.3:67 build/C/man3/getpwent.3:98
1691 #: build/C/man3/getpwnam.3:102
1692 #, no-wrap
1693 msgid ""
1694 "struct passwd {\n"
1695 "    char   *pw_name;       /* username */\n"
1696 "    char   *pw_passwd;     /* user password */\n"
1697 "    uid_t   pw_uid;        /* user ID */\n"
1698 "    gid_t   pw_gid;        /* group ID */\n"
1699 "    char   *pw_gecos;      /* user information */\n"
1700 "    char   *pw_dir;        /* home directory */\n"
1701 "    char   *pw_shell;      /* shell program */\n"
1702 "};\n"
1703 msgstr ""
1704 "struct passwd {\n"
1705 "    char   *pw_name;       /* ユーザ名 */\n"
1706 "    char   *pw_passwd;     /* ユーザのパスワード */\n"
1707 "    uid_t   pw_uid;        /* ユーザ ID */\n"
1708 "    gid_t   pw_gid;        /* グループ ID */\n"
1709 "    char   *pw_gecos;      /* ユーザ情報 */\n"
1710 "    char   *pw_dir;        /* ホームディレクトリ */\n"
1711 "    char   *pw_shell;      /* シェルプログラム */\n"
1712 "};\n"
1713
1714 #. type: Plain text
1715 #: build/C/man3/getpw.3:72 build/C/man3/getpwent.3:103
1716 #: build/C/man3/getpwent_r.3:84
1717 msgid ""
1718 "For more information about the fields of this structure, see B<passwd>(5)."
1719 msgstr "この構造体のフィールドの詳細は B<passwd>(5)  を参照のこと。"
1720
1721 #. type: Plain text
1722 #: build/C/man3/getpw.3:78
1723 msgid ""
1724 "The B<getpw>()  function returns 0 on success; on error, it returns -1, and "
1725 "I<errno> is set to indicate the error."
1726 msgstr ""
1727 "B<getpw>()  関数は、成功した場合 0 を返す; エラーが発生した場合 -1 を返し、エ"
1728 "ラーを 示すために I<error> がセットされる。"
1729
1730 #. type: TP
1731 #: build/C/man3/getpw.3:79 build/C/man3/putpwent.3:79
1732 #, no-wrap
1733 msgid "B<EINVAL>"
1734 msgstr "B<EINVAL>"
1735
1736 #. type: Plain text
1737 #: build/C/man3/getpw.3:83
1738 msgid "I<buf> is NULL."
1739 msgstr "I<buf> が NULL。"
1740
1741 #. type: Plain text
1742 #: build/C/man3/getpw.3:87
1743 msgid "No user corresponding to I<uid>."
1744 msgstr "I<uid> に対応するユーザがいない。"
1745
1746 #. type: Plain text
1747 #: build/C/man3/getpw.3:98
1748 msgid "SVr2."
1749 msgstr "SVr2"
1750
1751 #. type: Plain text
1752 #: build/C/man3/getpw.3:105
1753 msgid ""
1754 "The B<getpw>()  function is dangerous as it may overflow the provided buffer "
1755 "I<buf>.  It is obsoleted by B<getpwuid>(3)."
1756 msgstr ""
1757 "B<getpw>()  関数は、与えられたバッファ I<buf> がオーバーフローするかもしれな"
1758 "いので危険である。 この関数は B<getpwuid>(3)  によって古いものとなった。"
1759
1760 #. type: Plain text
1761 #: build/C/man3/getpw.3:114
1762 msgid ""
1763 "B<endpwent>(3), B<fgetpwent>(3), B<getpwent>(3), B<getpwnam>(3), B<getpwuid>"
1764 "(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
1765 msgstr ""
1766 "B<endpwent>(3), B<fgetpwent>(3), B<getpwent>(3), B<getpwnam>(3), B<getpwuid>"
1767 "(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
1768
1769 #. type: TH
1770 #: build/C/man3/getpwent.3:33
1771 #, no-wrap
1772 msgid "GETPWENT"
1773 msgstr "GETPWENT"
1774
1775 #. type: Plain text
1776 #: build/C/man3/getpwent.3:36
1777 msgid "getpwent, setpwent, endpwent - get password file entry"
1778 msgstr "getpwent, setpwent, endpwent - パスワードファイルのエントリの取得"
1779
1780 #. type: Plain text
1781 #: build/C/man3/getpwent.3:40 build/C/man3/getpwnam.3:44
1782 #, no-wrap
1783 msgid ""
1784 "B<#include E<lt>sys/types.hE<gt>>\n"
1785 "B<#include E<lt>pwd.hE<gt>>\n"
1786 msgstr ""
1787 "B<#include E<lt>sys/types.hE<gt>>\n"
1788 "B<#include E<lt>pwd.hE<gt>>\n"
1789
1790 #. type: Plain text
1791 #: build/C/man3/getpwent.3:42
1792 #, no-wrap
1793 msgid "B<struct passwd *getpwent(void);>\n"
1794 msgstr "B<struct passwd *getpwent(void);>\n"
1795
1796 #. type: Plain text
1797 #: build/C/man3/getpwent.3:44
1798 #, no-wrap
1799 msgid "B<void setpwent(void);>\n"
1800 msgstr "B<void setpwent(void);>\n"
1801
1802 #. type: Plain text
1803 #: build/C/man3/getpwent.3:46
1804 #, no-wrap
1805 msgid "B<void endpwent(void);>\n"
1806 msgstr "B<void endpwent(void);>\n"
1807
1808 #. type: Plain text
1809 #: build/C/man3/getpwent.3:57
1810 msgid "B<getpwent>(), B<setpwent>(), B<endpwent>():"
1811 msgstr "B<getpwent>(), B<setpwent>(), B<endpwent>():"
1812
1813 #. type: Plain text
1814 #: build/C/man3/getpwent.3:60
1815 msgid ""
1816 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
1817 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
1818 msgstr ""
1819 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
1820 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
1821
1822 #. type: Plain text
1823 #: build/C/man3/getpwent.3:74
1824 msgid ""
1825 "The B<getpwent>()  function returns a pointer to a structure containing the "
1826 "broken-out fields of a record from the password database (e.g., the local "
1827 "password file I</etc/passwd>, NIS, and LDAP).  The first time B<getpwent>()  "
1828 "is called, it returns the first entry; thereafter, it returns successive "
1829 "entries."
1830 msgstr ""
1831 "B<getpwent>()  関数は、パスワード・データベースから取得したエントリを 要素毎"
1832 "に分解し、各要素を格納した構造体へのポインタを返す (パスワード・データベース"
1833 "の例: ローカルのパスワードファイル I</etc/passwd>, NIS, LDAP)。 B<getpwent>"
1834 "()  は、最初に呼び出された時は最初のエントリを返し、それ以降は 呼び出される毎"
1835 "に次のエントリを返す。"
1836
1837 #. type: Plain text
1838 #: build/C/man3/getpwent.3:79
1839 msgid ""
1840 "The B<setpwent>()  function rewinds to the beginning of the password "
1841 "database."
1842 msgstr "B<setpwent>()  関数を使うと、パスワード・データベースの先頭に戻る。"
1843
1844 #. type: Plain text
1845 #: build/C/man3/getpwent.3:84
1846 msgid ""
1847 "The B<endpwent>()  function is used to close the password database after all "
1848 "processing has been performed."
1849 msgstr ""
1850 "B<endpwent>()  関数は、全ての処理が終わった後にパスワード・ データベースをク"
1851 "ローズする。"
1852
1853 #. type: Plain text
1854 #: build/C/man3/getpwent.3:116
1855 msgid ""
1856 "The B<getpwent>()  function returns a pointer to a I<passwd> structure, or "
1857 "NULL if there are no more entries or an error occurs.  If an error occurs, "
1858 "I<errno> is set appropriately.  If one wants to check I<errno> after the "
1859 "call, it should be set to zero before the call."
1860 msgstr ""
1861 "B<getpwent>()  関数は I<passwd> 構造体へのポインタを返す。 これ以上エントリが"
1862 "無いか、エラーが発生した場合は NULL を返す。 エラーが発生すると、 I<errno> が"
1863 "適切に設定される。 この関数の呼び出し後に I<errno> をチェックしたい場合は、呼"
1864 "び出し前に I<errno> を 0 に設定しておかないといけない。"
1865
1866 #. type: Plain text
1867 #: build/C/man3/getpwent.3:125
1868 msgid ""
1869 "The return value may point to a static area, and may be overwritten by "
1870 "subsequent calls to B<getpwent>(), B<getpwnam>(3), or B<getpwuid>(3).  (Do "
1871 "not pass the returned pointer to B<free>(3).)"
1872 msgstr ""
1873 "返り値は静的な領域を指しており、その後の B<getpwent>(), B<getpwnam>(3), "
1874 "B<getpwuid>(3)  の呼び出しで上書きされるかもしれない。 (返されたポインタを "
1875 "B<free>(3)  に渡さないこと。)"
1876
1877 #. type: Plain text
1878 #: build/C/man3/getpwent.3:154 build/C/man3/getpwnam.3:217
1879 msgid "local password database file"
1880 msgstr "ローカルのパスワード・データベースファイル"
1881
1882 #. type: Plain text
1883 #: build/C/man3/getpwent.3:159
1884 msgid "The B<getpwent()> function is not thread-safe."
1885 msgstr "B<getpwent()> 関数はスレッドセーフではない。"
1886
1887 #. type: Plain text
1888 #: build/C/man3/getpwent.3:165
1889 msgid "The B<setpwent()> and B<endpwent()> functions are thread-safe."
1890 msgstr "関数 B<setpwent()> と B<endpwent()> はスレッドセーフである。"
1891
1892 #. type: Plain text
1893 #: build/C/man3/getpwent.3:170 build/C/man3/getpwnam.3:235
1894 msgid ""
1895 "SVr4, 4.3BSD, POSIX.1-2001.  The I<pw_gecos> field is not specified in "
1896 "POSIX, but is present on most implementations."
1897 msgstr ""
1898 "SVr4, 4.3BSD, POSIX.1-2001.  I<pw_gecos> フィールドは POSIX では規定されてい"
1899 "ないが、 ほとんどの実装に存在する。"
1900
1901 #. type: Plain text
1902 #: build/C/man3/getpwent.3:178
1903 msgid ""
1904 "B<fgetpwent>(3), B<getpw>(3), B<getpwent_r>(3), B<getpwnam>(3), B<getpwuid>"
1905 "(3), B<putpwent>(3), B<passwd>(5)"
1906 msgstr ""
1907 "B<fgetpwent>(3), B<getpw>(3), B<getpwent_r>(3), B<getpwnam>(3), B<getpwuid>"
1908 "(3), B<putpwent>(3), B<passwd>(5)"
1909
1910 #. type: TH
1911 #: build/C/man3/getpwent_r.3:24
1912 #, no-wrap
1913 msgid "GETPWENT_R"
1914 msgstr "GETPWENT_R"
1915
1916 #. type: Plain text
1917 #: build/C/man3/getpwent_r.3:27
1918 msgid "getpwent_r, fgetpwent_r - get passwd file entry reentrantly"
1919 msgstr ""
1920 "getpwent_r, fgetpwent_r - パスワードファイルのエントリを リエントラントで取り"
1921 "出す"
1922
1923 #. type: Plain text
1924 #: build/C/man3/getpwent_r.3:30
1925 #, no-wrap
1926 msgid "B<#include E<lt>pwd.hE<gt>>\n"
1927 msgstr "B<#include E<lt>pwd.hE<gt>>\n"
1928
1929 #. type: Plain text
1930 #: build/C/man3/getpwent_r.3:32
1931 #, no-wrap
1932 msgid "B<int getpwent_r(struct passwd *>I<pwbuf>B<, char *>I<buf>B<,>\n"
1933 msgstr "B<int getpwent_r(struct passwd *>I<pwbuf>B<, char *>I<buf>B<,>\n"
1934
1935 #. type: Plain text
1936 #: build/C/man3/getpwent_r.3:34
1937 #, no-wrap
1938 msgid "B<               size_t >I<buflen>B<, struct passwd **>I<pwbufp>B<);>\n"
1939 msgstr "B<               size_t >I<buflen>B<, struct passwd **>I<pwbufp>B<);>\n"
1940
1941 #. type: Plain text
1942 #: build/C/man3/getpwent_r.3:36
1943 #, no-wrap
1944 msgid "B<int fgetpwent_r(FILE *>I<fp>B<, struct passwd *>I<pwbuf>B<, char *>I<buf>B<,>\n"
1945 msgstr "B<int fgetpwent_r(FILE *>I<fp>B<, struct passwd *>I<pwbuf>B<, char *>I<buf>B<,>\n"
1946
1947 #. type: Plain text
1948 #: build/C/man3/getpwent_r.3:38
1949 #, no-wrap
1950 msgid "B<                size_t >I<buflen>B<, struct passwd **>I<pwbufp>B<);>\n"
1951 msgstr "B<                size_t >I<buflen>B<, struct passwd **>I<pwbufp>B<);>\n"
1952
1953 #. type: Plain text
1954 #: build/C/man3/getpwent_r.3:47
1955 msgid "B<getpwent_r>(), _BSD_SOURCE || _SVID_SOURCE"
1956 msgstr "B<getpwent_r>(), _BSD_SOURCE || _SVID_SOURCE"
1957
1958 #. type: Plain text
1959 #: build/C/man3/getpwent_r.3:50
1960 msgid "B<fgetpwent_r>(): _SVID_SOURCE"
1961 msgstr "B<fgetpwent_r>(): _SVID_SOURCE"
1962
1963 #. type: Plain text
1964 #: build/C/man3/getpwent_r.3:63
1965 msgid ""
1966 "The functions B<getpwent_r>()  and B<fgetpwent_r>()  are the reentrant "
1967 "versions of B<getpwent>(3)  and B<fgetpwent>(3).  The former reads the next "
1968 "passwd entry from the stream initialized by B<setpwent>(3).  The latter "
1969 "reads the next passwd entry from the stream I<fp>."
1970 msgstr ""
1971 "関数 B<getpwent_r>()  と B<fgetpwent_r>()  は B<getpwent>(3)  と B<fgetpwent>"
1972 "(3)  のリエントラント (reentrant) 版である。 前者は、 B<setpwent>(3)  によっ"
1973 "て初期化されたストリームから、次のパスワードエントリを読み込む。 後者は、スト"
1974 "リーム I<fp> から次のパスワードエントリを読み込む。"
1975
1976 #. type: Plain text
1977 #: build/C/man3/getpwent_r.3:79
1978 #, no-wrap
1979 msgid ""
1980 "struct passwd {\n"
1981 "    char    *pw_name;      /* username */\n"
1982 "    char    *pw_passwd;    /* user password */\n"
1983 "    uid_t    pw_uid;       /* user ID */\n"
1984 "    gid_t    pw_gid;       /* group ID */\n"
1985 "    char    *pw_gecos;     /* user information */\n"
1986 "    char    *pw_dir;       /* home directory */\n"
1987 "    char    *pw_shell;     /* shell program */\n"
1988 "};\n"
1989 msgstr ""
1990 "struct passwd {\n"
1991 "    char    *pw_name;      /* ユーザ名 */\n"
1992 "    char    *pw_passwd;    /* ユーザのパスワード */\n"
1993 "    uid_t    pw_uid;       /* ユーザ ID */\n"
1994 "    gid_t    pw_gid;       /* グループ ID */\n"
1995 "    char    *pw_gecos;     /* ユーザ情報 */\n"
1996 "    char    *pw_dir;       /* ホームディレクトリ */\n"
1997 "    char    *pw_shell;     /* シェルプログラム */\n"
1998 "};\n"
1999
2000 #. type: Plain text
2001 #: build/C/man3/getpwent_r.3:103
2002 msgid ""
2003 "The nonreentrant functions return a pointer to static storage, where this "
2004 "static storage contains further pointers to user name, password, gecos "
2005 "field, home directory and shell.  The reentrant functions described here "
2006 "return all of that in caller-provided buffers.  First of all there is the "
2007 "buffer I<pwbuf> that can hold a I<struct passwd>.  And next the buffer "
2008 "I<buf> of size I<buflen> that can hold additional strings.  The result of "
2009 "these functions, the I<struct passwd> read from the stream, is stored in the "
2010 "provided buffer I<*pwbuf>, and a pointer to this I<struct passwd> is "
2011 "returned in I<*pwbufp>."
2012 msgstr ""
2013 "リエントラントでない関数は静的な格納領域へのポインタを返す。 この静的な格納領"
2014 "域には、更にユーザ名・パスワード・gecos フィールド・ ホームディレクトリ・シェ"
2015 "ルへのポインタが含まれる。 ここで説明されているリエントラント版の関数は、 呼"
2016 "び出し側から提供されるバッファにユーザ名など全てを返す。 最初の引き数として "
2017 "I<struct passwd> を保持できるバッファ I<pwbuf> がある。 次にその他の文字列を"
2018 "保持できるサイズ I<buflen> のバッファ I<buf> がある。 これらの関数の結果 (ス"
2019 "トリームから読み込まれた I<struct passwd>) は、 提供されたバッファ I<*pwbuf> "
2020 "に格納され、この I<struct passwd> へのポインタは I<*pwbufp> に返される。"
2021
2022 #. type: Plain text
2023 #: build/C/man3/getpwent_r.3:110
2024 msgid ""
2025 "On success, these functions return 0 and I<*pwbufp> is a pointer to the "
2026 "I<struct passwd>.  On error, these functions return an error value and "
2027 "I<*pwbufp> is NULL."
2028 msgstr ""
2029 "成功した場合、これらの関数は 0 を返し、 I<*pwbufp> は I<struct passwd> へのポ"
2030 "インタとなる。 エラーの場合、これらの関数はエラー値を返し、 I<*pwbufp> は "
2031 "NULL になる。"
2032
2033 #. type: Plain text
2034 #: build/C/man3/getpwent_r.3:128
2035 #, no-wrap
2036 msgid ""
2037 "struct passwd *\n"
2038 "getpwent_r(struct passwd *pwd, char *buf, int buflen);\n"
2039 msgstr ""
2040 "struct passwd *\n"
2041 "getpwent_r(struct passwd *pwd, char *buf, int buflen);\n"
2042
2043 #. type: Plain text
2044 #: build/C/man3/getpwent_r.3:138
2045 #, no-wrap
2046 msgid ""
2047 "int\n"
2048 "getpwent_r(struct passwd *pwd, char *buf, int buflen,\n"
2049 "           FILE **pw_fp);\n"
2050 msgstr ""
2051 "int\n"
2052 "getpwent_r(struct passwd *pwd, char *buf, int buflen,\n"
2053 "           FILE **pw_fp);\n"
2054
2055 #. type: Plain text
2056 #: build/C/man3/getpwent_r.3:145
2057 msgid ""
2058 "The function B<getpwent_r>()  is not really reentrant since it shares the "
2059 "reading position in the stream with all other threads."
2060 msgstr ""
2061 "関数 B<getpwent_r>()  は本当のリエントラントではない。 なぜなら、ストリームの"
2062 "読み込み位置を 他の全てのスレッドと共有しているためである。"
2063
2064 #. type: Plain text
2065 #: build/C/man3/getpwent_r.3:151
2066 #, no-wrap
2067 msgid ""
2068 "#define _GNU_SOURCE\n"
2069 "#include E<lt>pwd.hE<gt>\n"
2070 "#include E<lt>stdio.hE<gt>\n"
2071 "#define BUFLEN 4096\n"
2072 msgstr ""
2073 "#define _GNU_SOURCE\n"
2074 "#include E<lt>pwd.hE<gt>\n"
2075 "#include E<lt>stdio.hE<gt>\n"
2076 "#define BUFLEN 4096\n"
2077
2078 #. type: Plain text
2079 #: build/C/man3/getpwent_r.3:158
2080 #, no-wrap
2081 msgid ""
2082 "int\n"
2083 "main(void)\n"
2084 "{\n"
2085 "    struct passwd pw, *pwp;\n"
2086 "    char buf[BUFLEN];\n"
2087 "    int i;\n"
2088 msgstr ""
2089 "int\n"
2090 "main(void)\n"
2091 "{\n"
2092 "    struct passwd pw, *pwp;\n"
2093 "    char buf[BUFLEN];\n"
2094 "    int i;\n"
2095
2096 #. type: Plain text
2097 #: build/C/man3/getpwent_r.3:170
2098 #, no-wrap
2099 msgid ""
2100 "    setpwent();\n"
2101 "    while (1) {\n"
2102 "        i = getpwent_r(&pw, buf, BUFLEN, &pwp);\n"
2103 "        if (i)\n"
2104 "            break;\n"
2105 "        printf(\"%s (%d)\\etHOME %s\\etSHELL %s\\en\", pwp-E<gt>pw_name,\n"
2106 "               pwp-E<gt>pw_uid, pwp-E<gt>pw_dir, pwp-E<gt>pw_shell);\n"
2107 "    }\n"
2108 "    endpwent();\n"
2109 "    exit(EXIT_SUCCESS);\n"
2110 "}\n"
2111 msgstr ""
2112 "    setpwent();\n"
2113 "    while (1) {\n"
2114 "        i = getpwent_r(&pw, buf, BUFLEN, &pwp);\n"
2115 "        if (i)\n"
2116 "            break;\n"
2117 "        printf(\"%s (%d)\\etHOME %s\\etSHELL %s\\en\", pwp-E<gt>pw_name,\n"
2118 "               pwp-E<gt>pw_uid, pwp-E<gt>pw_dir, pwp-E<gt>pw_shell);\n"
2119 "    }\n"
2120 "    endpwent();\n"
2121 "    exit(EXIT_SUCCESS);\n"
2122 "}\n"
2123
2124 #. type: Plain text
2125 #: build/C/man3/getpwent_r.3:188
2126 msgid ""
2127 "B<fgetpwent>(3), B<getpw>(3), B<getpwent>(3), B<getpwnam>(3), B<getpwuid>"
2128 "(3), B<putpwent>(3), B<passwd>(5)"
2129 msgstr ""
2130 "B<fgetpwent>(3), B<getpw>(3), B<getpwent>(3), B<getpwnam>(3), B<getpwuid>"
2131 "(3), B<putpwent>(3), B<passwd>(5)"
2132
2133 #. type: TH
2134 #: build/C/man3/getpwnam.3:37
2135 #, no-wrap
2136 msgid "GETPWNAM"
2137 msgstr "GETPWNAM"
2138
2139 #. type: Plain text
2140 #: build/C/man3/getpwnam.3:40
2141 msgid "getpwnam, getpwnam_r, getpwuid, getpwuid_r - get password file entry"
2142 msgstr ""
2143 "getpwnam, getpwnam_r, getpwuid, getpwuid_r - パスワードファイルのエントリの取"
2144 "得"
2145
2146 #. type: Plain text
2147 #: build/C/man3/getpwnam.3:46
2148 #, no-wrap
2149 msgid "B<struct passwd *getpwnam(const char *>I<name>B<);>\n"
2150 msgstr "B<struct passwd *getpwnam(const char *>I<name>B<);>\n"
2151
2152 #. type: Plain text
2153 #: build/C/man3/getpwnam.3:48
2154 #, no-wrap
2155 msgid "B<struct passwd *getpwuid(uid_t >I<uid>B<);>\n"
2156 msgstr "B<struct passwd *getpwuid(uid_t >I<uid>B<);>\n"
2157
2158 #. type: Plain text
2159 #: build/C/man3/getpwnam.3:50
2160 #, no-wrap
2161 msgid "B<int getpwnam_r(const char *>I<name>B<, struct passwd *>I<pwd>B<,>\n"
2162 msgstr "B<int getpwnam_r(const char *>I<name>B<, struct passwd *>I<pwd>B<,>\n"
2163
2164 #. type: Plain text
2165 #: build/C/man3/getpwnam.3:52 build/C/man3/getpwnam.3:56
2166 #, no-wrap
2167 msgid "B<            char *>I<buf>B<, size_t >I<buflen>B<, struct passwd **>I<result>B<);>\n"
2168 msgstr "B<            char *>I<buf>B<, size_t >I<buflen>B<, struct passwd **>I<result>B<);>\n"
2169
2170 #. type: Plain text
2171 #: build/C/man3/getpwnam.3:54
2172 #, no-wrap
2173 msgid "B<int getpwuid_r(uid_t >I<uid>B<, struct passwd *>I<pwd>B<,>\n"
2174 msgstr "B<int getpwuid_r(uid_t >I<uid>B<, struct passwd *>I<pwd>B<,>\n"
2175
2176 #. type: Plain text
2177 #: build/C/man3/getpwnam.3:66
2178 msgid "B<getpwnam_r>(), B<getpwuid_r>():"
2179 msgstr "B<getpwnam_r>(), B<getpwuid_r>():"
2180
2181 #. type: Plain text
2182 #: build/C/man3/getpwnam.3:81
2183 msgid ""
2184 "The B<getpwnam>()  function returns a pointer to a structure containing the "
2185 "broken-out fields of the record in the password database (e.g., the local "
2186 "password file I</etc/passwd>, NIS, and LDAP)  that matches the username "
2187 "I<name>."
2188 msgstr ""
2189 "B<getpwnam>()  関数は、ユーザ名 I<name> にマッチするパスワード・データベース"
2190 "のエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返す (パス"
2191 "ワード・データベースの例: ローカルのパスワードファイル I</etc/passwd>, NIS, "
2192 "LDAP)。"
2193
2194 #. type: Plain text
2195 #: build/C/man3/getpwnam.3:88
2196 msgid ""
2197 "The B<getpwuid>()  function returns a pointer to a structure containing the "
2198 "broken-out fields of the record in the password database that matches the "
2199 "user ID I<uid>."
2200 msgstr ""
2201 "B<getpwuid>()  関数は、ユーザ ID I<uid> にマッチするパスワード・データベース"
2202 "のエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返す。"
2203
2204 #. type: Plain text
2205 #: build/C/man3/getpwnam.3:108
2206 msgid "See B<passwd>(5)  for more information about these fields."
2207 msgstr "これらのフィールドの詳しい情報については B<passwd>(5) を参照のこと。"
2208
2209 #. type: Plain text
2210 #: build/C/man3/getpwnam.3:130
2211 msgid ""
2212 "The B<getpwnam_r>()  and B<getpwuid_r>()  functions obtain the same "
2213 "information as B<getpwnam>()  and B<getpwuid>(), but store the retrieved "
2214 "I<passwd> structure in the space pointed to by I<pwd>.  The string fields "
2215 "pointed to by the members of the I<passwd> structure are stored in the "
2216 "buffer I<buf> of size I<buflen>.  A pointer to the result (in case of "
2217 "success) or NULL (in case no entry was found or an error occurred) is stored "
2218 "in I<*result>."
2219 msgstr ""
2220 "B<getpwnam_r>() と B<getpwuid_r>() 関数は、それぞれB<getpwnam>() と\n"
2221 "B<getpwuid>() と同じ情報を取得するが、取得した I<passwd> 構造体を\n"
2222 "I<pwd> が指す領域に格納する。I<passwd> 構造体のメンバーが指す文字列は、\n"
2223 "サイズ I<buflen> のバッファ I<buf> に格納される。成功した場合\n"
2224 "I<*result> には結果へのポインタが格納される。エントリが見つからなかった\n"
2225 "場合やエラーが発生した場合には I<*result> には NULL が入る。"
2226
2227 #. type: Plain text
2228 #: build/C/man3/getpwnam.3:134
2229 #, no-wrap
2230 msgid "    sysconf(_SC_GETPW_R_SIZE_MAX)\n"
2231 msgstr "    sysconf(_SC_GETPW_R_SIZE_MAX)\n"
2232
2233 #. type: Plain text
2234 #: build/C/man3/getpwnam.3:158
2235 msgid ""
2236 "The B<getpwnam>()  and B<getpwuid>()  functions return a pointer to a "
2237 "I<passwd> structure, or NULL if the matching entry is not found or an error "
2238 "occurs.  If an error occurs, I<errno> is set appropriately.  If one wants to "
2239 "check I<errno> after the call, it should be set to zero before the call."
2240 msgstr ""
2241 "B<getpwnam>()  と B<getpwuid>()  関数は、 I<passwd> 構造体へのポインタを返"
2242 "す。 一致するエントリが見つからなかった場合や、エラーが発生した場合は NULL を"
2243 "返す。 エラーが起こった場合、 I<errno> が適切に設定される。 呼び出しの後で "
2244 "I<errno> をチェックしたい場合は、 呼び出しの前に (この値を) 0 に設定しておく"
2245 "べきである。"
2246
2247 #. type: Plain text
2248 #: build/C/man3/getpwnam.3:167
2249 msgid ""
2250 "The return value may point to a static area, and may be overwritten by "
2251 "subsequent calls to B<getpwent>(3), B<getpwnam>(), or B<getpwuid>().  (Do "
2252 "not pass the returned pointer to B<free>(3).)"
2253 msgstr ""
2254 "返り値は静的な領域を指しており、その後の B<getpwent>(3), B<getpwnam>(), "
2255 "B<getpwuid>()  の呼び出しで上書きされるかもしれない。 (返されたポインタを "
2256 "B<free>(3)  に渡さないこと。)"
2257
2258 #. type: Plain text
2259 #: build/C/man3/getpwnam.3:181
2260 msgid ""
2261 "On success, B<getpwnam_r>()  and B<getpwuid_r>()  return zero, and set "
2262 "I<*result> to I<pwd>.  If no matching password record was found, these "
2263 "functions return 0 and store NULL in I<*result>.  In case of error, an error "
2264 "number is returned, and NULL is stored in I<*result>."
2265 msgstr ""
2266 "成功すると、 B<getpwnam_r>()  と B<getpwuid_r>()  は 0 を返し、 I<*result> "
2267 "に I<pwd> を設定する。 マッチするパスワード・エントリが見つからなかった場合に"
2268 "は、 0 を返し、 I<*result> に NULL を設定する。 エラーの場合、エラー番号を返"
2269 "し、 I<*result> に NULL を設定する。"
2270
2271 #. type: Plain text
2272 #: build/C/man3/getpwnam.3:189
2273 msgid "The given I<name> or I<uid> was not found."
2274 msgstr "指定された I<name> または I<uid> が見つからなかった。"
2275
2276 #. type: Plain text
2277 #: build/C/man3/getpwnam.3:224
2278 #, fuzzy
2279 #| msgid "The functions B<getpwnam>()  and B<getpwuid>()  are not thread_safe."
2280 msgid "The B<getpwnam>()  and B<getpwuid>()  functions are not thread-safe."
2281 msgstr "関数 B<getpwnam>() と B<getpwuid>() はスレッドセーフではない。"
2282
2283 #. type: Plain text
2284 #: build/C/man3/getpwnam.3:230
2285 #, fuzzy
2286 #| msgid "The functions B<getpwnam_r>()  and B<getpwuid_r>()  are thread-safe."
2287 msgid "The B<getpwnam_r>()  and B<getpwuid_r>()  functions are thread-safe."
2288 msgstr "関数 B<getpwnam_r>() と B<getpwuid_r>() はスレッドセーフである。"
2289
2290 #.  more precisely:
2291 #.  AIX 5.1 - gives ESRCH
2292 #.  OSF1 4.0g - gives EWOULDBLOCK
2293 #.  libc, glibc up to version 2.6, Irix 6.5 - give ENOENT
2294 #.  glibc since version 2.7 - give 0
2295 #.  FreeBSD 4.8, OpenBSD 3.2, NetBSD 1.6 - give EPERM
2296 #.  SunOS 5.8 - gives EBADF
2297 #.  Tru64 5.1b, HP-UX-11i, SunOS 5.7 - give 0
2298 #. type: Plain text
2299 #: build/C/man3/getpwnam.3:256
2300 msgid ""
2301 "The formulation given above under \"RETURN VALUE\" is from POSIX.1-2001.  It "
2302 "does not call \"not found\" an error, and hence does not specify what value "
2303 "I<errno> might have in this situation.  But that makes it impossible to "
2304 "recognize errors.  One might argue that according to POSIX I<errno> should "
2305 "be left unchanged if an entry is not found.  Experiments on various UNIX-"
2306 "like systems show that lots of different values occur in this situation: 0, "
2307 "ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM and probably others."
2308 msgstr ""
2309 "上記の「返り値」以下の記述は POSIX.1-2001 に拠る。 この標準は「(エントリが) "
2310 "見つからないこと」をエラーとしていないので、 そのような場合に I<errno> がどの"
2311 "ような値になるかを定めていない。 そのため、エラーを認識することは不可能であ"
2312 "る。 POSIX に準拠して、エントリが見つからない場合は I<errno> を変更しないよう"
2313 "にすべきである、と主張する人もいるかもしれない。 様々な UNIX 系のシステムで試"
2314 "してみると、そのような場合には 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM と"
2315 "いった様々な値が返される。 他の値が返されるかもしれない。"
2316
2317 #. type: Plain text
2318 #: build/C/man3/getpwnam.3:274
2319 msgid ""
2320 "The I<pw_dir> field contains the name of the initial working directory of "
2321 "the user.  Login programs use the value of this field to initialize the "
2322 "B<HOME> environment variable for the login shell.  An application that wants "
2323 "to determine its user's home directory should inspect the value of B<HOME> "
2324 "(rather than the value I<getpwuid(getuid())-E<gt>pw_dir>)  since this allows "
2325 "the user to modify their notion of \"the home directory\" during a login "
2326 "session.  To determine the (initial) home directory of another user, it is "
2327 "necessary to use I<getpwnam(\"username\")-E<gt>pw_dir> or similar."
2328 msgstr ""
2329 "フィールド I<pw_dir> には、ユーザの作業ディレクトリ名の初期値が格納される。 "
2330 "ログインプロセスは、このフィールドの値を使って、 ログインシェルの B<HOME> 環"
2331 "境変数を初期化する。 アプリケーションが、ユーザのホーム・ディレクトリを決定す"
2332 "る場合には、 (I<getpwuid(getuid())-E<gt>pw_dir> の値ではなく)  B<HOME> の値を"
2333 "検査するようにすべきである。 なぜなら、このようにすることで、ユーザがログイ"
2334 "ン・セッション中で 「ホーム・ディレクトリ」の意味を変更できるようになるからで"
2335 "ある。 別のユーザのホーム・ディレクトリ (の初期値) を知るには I<getpwnam"
2336 "(\"username\")-E<gt>pw_dir> か同様の方法を使う必要がある。"
2337
2338 #. type: Plain text
2339 #: build/C/man3/getpwnam.3:279
2340 msgid ""
2341 "The program below demonstrates the use of B<getpwnam_r>()  to find the full "
2342 "username and user ID for the username supplied as a command-line argument."
2343 msgstr ""
2344 "以下のプログラムは B<getpwnam_r>()  の使用例を示したもので、コマンドライン引"
2345 "き数で渡されたユーザ名に対する 完全なユーザ名とユーザ ID を探すものである。"
2346
2347 #. type: Plain text
2348 #: build/C/man3/getpwnam.3:286
2349 #, no-wrap
2350 msgid ""
2351 "#include E<lt>pwd.hE<gt>\n"
2352 "#include E<lt>stdio.hE<gt>\n"
2353 "#include E<lt>stdlib.hE<gt>\n"
2354 "#include E<lt>unistd.hE<gt>\n"
2355 "#include E<lt>errno.hE<gt>\n"
2356 msgstr ""
2357 "#include E<lt>pwd.hE<gt>\n"
2358 "#include E<lt>stdio.hE<gt>\n"
2359 "#include E<lt>stdlib.hE<gt>\n"
2360 "#include E<lt>unistd.hE<gt>\n"
2361 "#include E<lt>errno.hE<gt>\n"
2362
2363 #. type: Plain text
2364 #: build/C/man3/getpwnam.3:295
2365 #, no-wrap
2366 msgid ""
2367 "int\n"
2368 "main(int argc, char *argv[])\n"
2369 "{\n"
2370 "    struct passwd pwd;\n"
2371 "    struct passwd *result;\n"
2372 "    char *buf;\n"
2373 "    size_t bufsize;\n"
2374 "    int s;\n"
2375 msgstr ""
2376 "int\n"
2377 "main(int argc, char *argv[])\n"
2378 "{\n"
2379 "    struct passwd pwd;\n"
2380 "    struct passwd *result;\n"
2381 "    char *buf;\n"
2382 "    size_t bufsize;\n"
2383 "    int s;\n"
2384
2385 #. type: Plain text
2386 #: build/C/man3/getpwnam.3:300
2387 #, no-wrap
2388 msgid ""
2389 "    if (argc != 2) {\n"
2390 "        fprintf(stderr, \"Usage: %s username\\en\", argv[0]);\n"
2391 "        exit(EXIT_FAILURE);\n"
2392 "    }\n"
2393 msgstr ""
2394 "    if (argc != 2) {\n"
2395 "        fprintf(stderr, \"Usage: %s username\\en\", argv[0]);\n"
2396 "        exit(EXIT_FAILURE);\n"
2397 "    }\n"
2398
2399 #. type: Plain text
2400 #: build/C/man3/getpwnam.3:304
2401 #, no-wrap
2402 msgid ""
2403 "    bufsize = sysconf(_SC_GETPW_R_SIZE_MAX);\n"
2404 "    if (bufsize == -1)          /* Value was indeterminate */\n"
2405 "        bufsize = 16384;        /* Should be more than enough */\n"
2406 msgstr ""
2407 "    bufsize = sysconf(_SC_GETPW_R_SIZE_MAX);\n"
2408 "    if (bufsize == -1)          /* 値を決定できなかった */\n"
2409 "        bufsize = 16384;        /* 十分大きな値にすべき */\n"
2410
2411 #. type: Plain text
2412 #: build/C/man3/getpwnam.3:310
2413 #, no-wrap
2414 msgid ""
2415 "    buf = malloc(bufsize);\n"
2416 "    if (buf == NULL) {\n"
2417 "        perror(\"malloc\");\n"
2418 "        exit(EXIT_FAILURE);\n"
2419 "    }\n"
2420 msgstr ""
2421 "    buf = malloc(bufsize);\n"
2422 "    if (buf == NULL) {\n"
2423 "        perror(\"malloc\");\n"
2424 "        exit(EXIT_FAILURE);\n"
2425 "    }\n"
2426
2427 #. type: Plain text
2428 #: build/C/man3/getpwnam.3:321
2429 #, no-wrap
2430 msgid ""
2431 "    s = getpwnam_r(argv[1], &pwd, buf, bufsize, &result);\n"
2432 "    if (result == NULL) {\n"
2433 "        if (s == 0)\n"
2434 "            printf(\"Not found\\en\");\n"
2435 "        else {\n"
2436 "            errno = s;\n"
2437 "            perror(\"getpwnam_r\");\n"
2438 "        }\n"
2439 "        exit(EXIT_FAILURE);\n"
2440 "    }\n"
2441 msgstr ""
2442 "    s = getpwnam_r(argv[1], &pwd, buf, bufsize, &result);\n"
2443 "    if (result == NULL) {\n"
2444 "        if (s == 0)\n"
2445 "            printf(\"Not found\\en\");\n"
2446 "        else {\n"
2447 "            errno = s;\n"
2448 "            perror(\"getpwnam_r\");\n"
2449 "        }\n"
2450 "        exit(EXIT_FAILURE);\n"
2451 "    }\n"
2452
2453 #. type: Plain text
2454 #: build/C/man3/getpwnam.3:325
2455 #, no-wrap
2456 msgid ""
2457 "    printf(\"Name: %s; UID: %ld\\en\", pwd.pw_gecos, (long) pwd.pw_uid);\n"
2458 "    exit(EXIT_SUCCESS);\n"
2459 "}\n"
2460 msgstr ""
2461 "    printf(\"Name: %s; UID: %ld\\en\", pwd.pw_gecos, (long) pwd.pw_uid);\n"
2462 "    exit(EXIT_SUCCESS);\n"
2463 "}\n"
2464
2465 #. type: Plain text
2466 #: build/C/man3/getpwnam.3:336
2467 msgid ""
2468 "B<endpwent>(3), B<fgetpwent>(3), B<getgrnam>(3), B<getpw>(3), B<getpwent>"
2469 "(3), B<getspnam>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
2470 msgstr ""
2471 "B<endpwent>(3), B<fgetpwent>(3), B<getgrnam>(3), B<getpw>(3), B<getpwent>"
2472 "(3), B<getspnam>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
2473
2474 #. type: TH
2475 #: build/C/man3/getspnam.3:8
2476 #, no-wrap
2477 msgid "GETSPNAM"
2478 msgstr "GETSPNAM"
2479
2480 #. type: Plain text
2481 #: build/C/man3/getspnam.3:13
2482 msgid ""
2483 "getspnam, getspnam_r, getspent, getspent_r, setspent, endspent, fgetspent, "
2484 "fgetspent_r, sgetspent, sgetspent_r, putspent, lckpwdf, ulckpwdf - get "
2485 "shadow password file entry"
2486 msgstr ""
2487 "getspnam, getspnam_r, getspent, getspent_r, setspent, endspent,fgetspent, "
2488 "fgetspent_r, sgetspent, sgetspent_r, putspent, lckpwdf, ulckpwdf - shadow パ"
2489 "スワードファイルのエントリを取得する"
2490
2491 #. type: Plain text
2492 #: build/C/man3/getspnam.3:16
2493 #, no-wrap
2494 msgid "/* General shadow password file API */\n"
2495 msgstr "/* 一般的な shadow パスワードファイル API */\n"
2496
2497 #. type: Plain text
2498 #: build/C/man3/getspnam.3:18 build/C/man3/getspnam.3:40
2499 #, no-wrap
2500 msgid "B<#include E<lt>shadow.hE<gt>>\n"
2501 msgstr "B<#include E<lt>shadow.hE<gt>>\n"
2502
2503 #. type: Plain text
2504 #: build/C/man3/getspnam.3:20
2505 #, no-wrap
2506 msgid "B<struct spwd *getspnam(const char *>I<name>B<);>\n"
2507 msgstr "B<struct spwd *getspnam(const char *>I<name>B<);>\n"
2508
2509 #. type: Plain text
2510 #: build/C/man3/getspnam.3:22
2511 #, no-wrap
2512 msgid "B<struct spwd *getspent(void);>\n"
2513 msgstr "B<struct spwd *getspent(void);>\n"
2514
2515 #. type: Plain text
2516 #: build/C/man3/getspnam.3:24
2517 #, no-wrap
2518 msgid "B<void setspent(void);>\n"
2519 msgstr "B<void setspent(void);>\n"
2520
2521 #. type: Plain text
2522 #: build/C/man3/getspnam.3:26
2523 #, no-wrap
2524 msgid "B<void endspent(void);>\n"
2525 msgstr "B<void endspent(void);>\n"
2526
2527 #. type: Plain text
2528 #: build/C/man3/getspnam.3:28
2529 #, no-wrap
2530 msgid "B<struct spwd *fgetspent(FILE *>I<fp>B<);>\n"
2531 msgstr "B<struct spwd *fgetspent(FILE *>I<fp>B<);>\n"
2532
2533 #. type: Plain text
2534 #: build/C/man3/getspnam.3:30
2535 #, no-wrap
2536 msgid "B<struct spwd *sgetspent(const char *>I<s>B<);>\n"
2537 msgstr "B<struct spwd *sgetspent(const char *>I<s>B<);>\n"
2538
2539 #. type: Plain text
2540 #: build/C/man3/getspnam.3:32
2541 #, no-wrap
2542 msgid "B<int putspent(struct spwd *>I<p>B<, FILE *>I<fp>B<);>\n"
2543 msgstr "B<int putspent(struct spwd *>I<p>B<, FILE *>I<fp>B<);>\n"
2544
2545 #. type: Plain text
2546 #: build/C/man3/getspnam.3:34
2547 #, no-wrap
2548 msgid "B<int lckpwdf(void);>\n"
2549 msgstr "B<int lckpwdf(void);>\n"
2550
2551 #. type: Plain text
2552 #: build/C/man3/getspnam.3:36
2553 #, no-wrap
2554 msgid "B<int ulckpwdf(void);>\n"
2555 msgstr "B<int ulckpwdf(void);>\n"
2556
2557 #. type: Plain text
2558 #: build/C/man3/getspnam.3:38
2559 #, no-wrap
2560 msgid "/* GNU extension */\n"
2561 msgstr "/* GNU 版における拡張 */\n"
2562
2563 #. type: Plain text
2564 #: build/C/man3/getspnam.3:42
2565 #, no-wrap
2566 msgid "B<int getspent_r(struct spwd *>I<spbuf>B<,>\n"
2567 msgstr "B<int getspent_r(struct spwd *>I<spbuf>B<,>\n"
2568
2569 #. type: Plain text
2570 #: build/C/man3/getspnam.3:44 build/C/man3/getspnam.3:48
2571 #: build/C/man3/getspnam.3:52 build/C/man3/getspnam.3:56
2572 #, no-wrap
2573 msgid "B<        char *>I<buf>B<, size_t >I<buflen>B<, struct spwd **>I<spbufp>B<);>\n"
2574 msgstr "B<        char *>I<buf>B<, size_t >I<buflen>B<, struct spwd **>I<spbufp>B<);>\n"
2575
2576 #. type: Plain text
2577 #: build/C/man3/getspnam.3:46
2578 #, no-wrap
2579 msgid "B<int getspnam_r(const char *>I<name>B<, struct spwd *>I<spbuf>B<,>\n"
2580 msgstr "B<int getspnam_r(const char *>I<name>B<, struct spwd *>I<spbuf>B<,>\n"
2581
2582 #. type: Plain text
2583 #: build/C/man3/getspnam.3:50
2584 #, no-wrap
2585 msgid "B<int fgetspent_r(FILE *>I<fp>B<, struct spwd *>I<spbuf>B<,>\n"
2586 msgstr "B<int fgetspent_r(FILE *>I<fp>B<, struct spwd *>I<spbuf>B<,>\n"
2587
2588 #. type: Plain text
2589 #: build/C/man3/getspnam.3:54
2590 #, no-wrap
2591 msgid "B<int sgetspent_r(const char *>I<s>B<, struct spwd *>I<spbuf>B<,>\n"
2592 msgstr "B<int sgetspent_r(const char *>I<s>B<, struct spwd *>I<spbuf>B<,>\n"
2593
2594 #. type: Plain text
2595 #: build/C/man3/getspnam.3:68
2596 msgid "B<getspent_r>(), B<getspnam_r>(), B<fgetspent_r>(), B<sgetspent_r>():"
2597 msgstr "B<getspent_r>(), B<getspnam_r>(), B<fgetspent_r>(), B<sgetspent_r>():"
2598
2599 #. type: Plain text
2600 #: build/C/man3/getspnam.3:70
2601 msgid "_BSD_SOURCE || _SVID_SOURCE"
2602 msgstr "_BSD_SOURCE || _SVID_SOURCE"
2603
2604 #. type: Plain text
2605 #: build/C/man3/getspnam.3:84
2606 msgid ""
2607 "Long ago it was considered safe to have encrypted passwords openly visible "
2608 "in the password file.  When computers got faster and people got more "
2609 "security-conscious, this was no longer acceptable.  Julianne Frances Haugh "
2610 "implemented the shadow password suite that keeps the encrypted passwords in "
2611 "the shadow password database (e.g., the local shadow password file I</etc/"
2612 "shadow>, NIS, and LDAP), readable only by root."
2613 msgstr ""
2614 "昔は暗号化されたパスワードをパスワードファイルに 見えるように公開しておいても"
2615 "安全だと考えられていた。 Julianne Frances Haugh は shadow パスワード・スイー"
2616 "トを実装した。 これは暗号化されたパスワードを、root のみが読むことができる "
2617 "shadow パスワード・データベース (例えば、 ローカルの shadow パスワードファイ"
2618 "ル I</etc/shadow>, NIS, LDAP)  に保持する。"
2619
2620 #.  FIXME I've commented out the following for the
2621 #.  moment.  The relationship between PAM and nsswitch.conf needs
2622 #.  to be clearly documented in one place, which is pointed to by
2623 #.  the pages for the user, group, and shadow password functions.
2624 #.  (Jul 2005, mtk)
2625 #.  This shadow password setup has been superseded by PAM
2626 #.  (pluggable authentication modules), and the file
2627 #.  .I /etc/nsswitch.conf
2628 #.  now describes the sources to be used.
2629 #. type: Plain text
2630 #: build/C/man3/getspnam.3:101
2631 msgid ""
2632 "The functions described below resemble those for the traditional password "
2633 "database (e.g., see B<getpwnam>(3)  and B<getpwent>(3))."
2634 msgstr ""
2635 "以下で説明する関数は、伝統的なパスワード・データベースに対する 関数に似てい"
2636 "る (例えば B<getpwnam>(3)  や B<getpwent>(3)  を参照)。"
2637
2638 #. type: Plain text
2639 #: build/C/man3/getspnam.3:108
2640 msgid ""
2641 "The B<getspnam>()  function returns a pointer to a structure containing the "
2642 "broken-out fields of the record in the shadow password database that matches "
2643 "the username I<name>."
2644 msgstr ""
2645 "B<getspnam>()  関数は、ユーザ名 I<name> にマッチする shadow パスワード・デー"
2646 "タベースのエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返"
2647 "す。"
2648
2649 #.  some systems require a call of setspent() before the first getspent()
2650 #.  glibc does not
2651 #. type: Plain text
2652 #: build/C/man3/getspnam.3:120
2653 msgid ""
2654 "The B<getspent>()  function returns a pointer to the next entry in the "
2655 "shadow password database.  The position in the input stream is initialized "
2656 "by B<setspent>().  When done reading, the program may call B<endspent>()  so "
2657 "that resources can be deallocated."
2658 msgstr ""
2659 "B<getspent>()  関数は shadow パスワード・データベースにおける次のエントリへの"
2660 "ポインタを返す。 入力ストリームにおける位置は、 B<setspent>()  で初期化され"
2661 "る。 読み込みが終わった後に、 B<endspent>()  を呼び出すと、リソースを解放でき"
2662 "る。"
2663
2664 #. type: Plain text
2665 #: build/C/man3/getspnam.3:127
2666 msgid ""
2667 "The B<fgetspent>()  function is similar to B<getspent>()  but uses the "
2668 "supplied stream instead of the one implicitly opened by B<setspent>()."
2669 msgstr ""
2670 "B<fgetspent>()  関数は B<getspent>()  に似ているが、 B<setspent>()  で暗黙の"
2671 "うちにオープンされるストリームではなく、与えられたストリームを使う。"
2672
2673 #. type: Plain text
2674 #: build/C/man3/getspnam.3:134
2675 msgid ""
2676 "The B<sgetspent>()  function parses the supplied string I<s> into a struct "
2677 "I<spwd>."
2678 msgstr ""
2679 "B<sgetspent>()  関数は与えられた文字列 I<s> を解析し struct I<spwd> に格納す"
2680 "る。"
2681
2682 #. type: Plain text
2683 #: build/C/man3/getspnam.3:144
2684 msgid ""
2685 "The B<putspent>()  function writes the contents of the supplied struct "
2686 "I<spwd> I<*p> as a text line in the shadow password file format to the "
2687 "stream I<fp>.  String entries with value NULL and numerical entries with "
2688 "value -1 are written as an empty string."
2689 msgstr ""
2690 "B<putspent>()  関数は与えられた struct I<spwd> I<*p> の内容を shadow パスワー"
2691 "ドファイル形式のテキスト行でストリーム I<fp> に書き出す。 空文字列として、 値"
2692 "が NULL の文字列エントリと値が -1 の数値エントリが 書き出される。"
2693
2694 #. type: Plain text
2695 #: build/C/man3/getspnam.3:159
2696 msgid ""
2697 "The B<lckpwdf>()  function is intended to protect against multiple "
2698 "simultaneous accesses of the shadow password database.  It tries to acquire "
2699 "a lock, and returns 0 on success, or -1 on failure (lock not obtained within "
2700 "15 seconds).  The B<ulckpwdf>()  function releases the lock again.  Note "
2701 "that there is no protection against direct access of the shadow password "
2702 "file.  Only programs that use B<lckpwdf>()  will notice the lock."
2703 msgstr ""
2704 "B<lckpwdf>()  関数は、 shadow パスワード・データベースを 多重同時アクセスから"
2705 "守るためのものである。 この関数はロックの獲得を試み、 成功した場合は 0 を返"
2706 "す。 失敗した場合 (15 秒以内にロックが取得できなかった場合) は -1 を返す。 "
2707 "B<ulckpwdf>()  関数はロックを再び解放する。 shadow パスワードファイルへの直接"
2708 "アクセスから 保護する手段がない点に注意すること。 B<lckpwdf>()  を使うプログ"
2709 "ラムだけがロックを通知できる。"
2710
2711 #.  Also in libc5
2712 #.  SUN doesn't have sgetspent()
2713 #. type: Plain text
2714 #: build/C/man3/getspnam.3:164
2715 msgid ""
2716 "These were the functions that formed the original shadow API.  They are "
2717 "widely available."
2718 msgstr ""
2719 "これらの関数はオリジナルの shadow API を構成していた関数であり、 いろいろなシ"
2720 "ステムで広く利用可能である。"
2721
2722 #. type: SS
2723 #: build/C/man3/getspnam.3:164
2724 #, no-wrap
2725 msgid "Reentrant versions"
2726 msgstr "リエントラント版"
2727
2728 #. type: Plain text
2729 #: build/C/man3/getspnam.3:181
2730 msgid ""
2731 "Analogous to the reentrant functions for the password database, glibc also "
2732 "has reentrant functions for the shadow password database.  The B<getspnam_r>"
2733 "()  function is like B<getspnam>()  but stores the retrieved shadow password "
2734 "structure in the space pointed to by I<spbuf>.  This shadow password "
2735 "structure contains pointers to strings, and these strings are stored in the "
2736 "buffer I<buf> of size I<buflen>.  A pointer to the result (in case of "
2737 "success) or NULL (in case no entry was found or an error occurred) is stored "
2738 "in I<*spbufp>."
2739 msgstr ""
2740 "パスワード・データベースに対するリエントラント版と同じように、 glibc には "
2741 "shadow パスワードファイルに対してリエントラント版がある。 B<getspnam_r>()  関"
2742 "数は B<getspnam>()  と似ているが、取得した shadow パスワード構造体を "
2743 "I<spbuf> が指す領域に格納する。 shadow パスワード構造体は文字列群へのポインタ"
2744 "を含み、 これらの文字列群はサイズ I<buflen> のバッファ I<buf> に格納される。 "
2745 "I<*spbufp> には (成功した場合は) 結果へのポインタが格納され、 (エントリが見つ"
2746 "からなかった場合またはエラーが起こった場合は)  NULL が格納される。"
2747
2748 #. type: Plain text
2749 #: build/C/man3/getspnam.3:188
2750 msgid ""
2751 "The functions B<getspent_r>(), B<fgetspent_r>(), and B<sgetspent_r>()  are "
2752 "similarly analogous to their nonreentrant counterparts."
2753 msgstr ""
2754 "関数 B<getspent_r>(), B<fgetspent_r>(), B<sgetspent_r>()  はそれぞれリエント"
2755 "ラントでないバージョンと同様の機能を持つ。"
2756
2757 #.  SUN doesn't have sgetspent_r()
2758 #. type: Plain text
2759 #: build/C/man3/getspnam.3:192
2760 msgid ""
2761 "Some non-glibc systems also have functions with these names, often with "
2762 "different prototypes."
2763 msgstr ""
2764 "glibc でないシステムにもこれらと同じ名前の関数があるが、 プロトタイプが異なる"
2765 "ことも多い。"
2766
2767 #. type: SS
2768 #: build/C/man3/getspnam.3:192
2769 #, no-wrap
2770 msgid "Structure"
2771 msgstr "構造体"
2772
2773 #. type: Plain text
2774 #: build/C/man3/getspnam.3:194
2775 msgid ""
2776 "The shadow password structure is defined in I<E<lt>shadow.hE<gt>> as follows:"
2777 msgstr ""
2778 "shadow パスワード構造体は I<E<lt>shadow.hE<gt>> で以下のように定義されている:"
2779
2780 #. type: Plain text
2781 #: build/C/man3/getspnam.3:214
2782 #, no-wrap
2783 msgid ""
2784 "struct spwd {\n"
2785 "    char *sp_namp;     /* Login name */\n"
2786 "    char *sp_pwdp;     /* Encrypted password */\n"
2787 "    long  sp_lstchg;   /* Date of last change\n"
2788 "                          (measured in days since\n"
2789 "                          1970-01-01 00:00:00 +0000 (UTC)) */\n"
2790 "    long  sp_min;      /* Min # of days between changes */\n"
2791 "    long  sp_max;      /* Max # of days between changes */\n"
2792 "    long  sp_warn;     /* # of days before password expires\n"
2793 "                          to warn user to change it */\n"
2794 "    long  sp_inact;    /* # of days after password expires\n"
2795 "                          until account is disabled */\n"
2796 "    long  sp_expire;   /* Date when account expires\n"
2797 "                          (measured in days since\n"
2798 "                          1970-01-01 00:00:00 +0000 (UTC)) */\n"
2799 "    unsigned long sp_flag;  /* Reserved */\n"
2800 "};\n"
2801 msgstr ""
2802 "struct spwd {\n"
2803 "    char *sp_namp;     /* ログイン名 */\n"
2804 "    char *sp_pwdp;     /* 暗号化されたパスワード */\n"
2805 "    long  sp_lstchg;   /* 最終更新日\n"
2806 "                          (1970-01-01 00:00:00 +0000 (UTC)\n"
2807 "                           からの日数) */\n"
2808 "    long  sp_min;      /* 変更が出来るようになるまでの最短日数 */\n"
2809 "    long  sp_max;      /* 変更をしなくてもよい最長日数 */\n"
2810 "    long  sp_warn;     /* パスワードが期限切れになる前に\n"
2811 "                          ユーザに変更の警告を出す日数 */\n"
2812 "    long  sp_inact;    /* パスワードが期限切れになってから\n"
2813 "                          アカウントが無効になるまでの日数 */\n"
2814 "    long  sp_expire;   /* アカウントが無効になる日付\n"
2815 "                          (1970-01-01 00:00:00 +0000 (UTC)\n"
2816 "                           からの日数) */\n"
2817 "    unsigned long sp_flag;  /* 予約フィールド */\n"
2818 "};\n"
2819
2820 #. type: Plain text
2821 #: build/C/man3/getspnam.3:223
2822 msgid ""
2823 "The functions that return a pointer return NULL if no more entries are "
2824 "available or if an error occurs during processing.  The functions which have "
2825 "I<int> as the return value return 0 for success and -1 for failure, with "
2826 "I<errno> set to indicate the cause of the error."
2827 msgstr ""
2828 "ポインタを返す関数は、これ以上エントリがない場合や 処理中にエラーが発生した場"
2829 "合 NULL を返す。 I<int> を返り値として持つ関数は、 成功した場合 0 を返し、失"
2830 "敗した場合、 -1 を返し、 I<errno> にエラーの原因を示す値を設定する。"
2831
2832 #. type: Plain text
2833 #: build/C/man3/getspnam.3:226
2834 msgid ""
2835 "For the nonreentrant functions, the return value may point to static area, "
2836 "and may be overwritten by subsequent calls to these functions."
2837 msgstr ""
2838 "リエントラント版でない関数では、返り値が静的な領域を指しており、 引き続いてこ"
2839 "れらの関数を呼び出した場合に上書きされる可能性がある。"
2840
2841 #. type: Plain text
2842 #: build/C/man3/getspnam.3:229
2843 msgid ""
2844 "The reentrant functions return zero on success.  In case of error, an error "
2845 "number is returned."
2846 msgstr ""
2847 "リエントラント版の関数は、成功した場合に 0 を返す。 エラーの場合は、エラー番"
2848 "号が返される。"
2849
2850 #. type: TP
2851 #: build/C/man3/getspnam.3:230
2852 #, no-wrap
2853 msgid "B<EACCES>"
2854 msgstr "B<EACCES>"
2855
2856 #. type: Plain text
2857 #: build/C/man3/getspnam.3:233
2858 msgid "The caller does not have permission to access the shadow password file."
2859 msgstr ""
2860 "呼び出し元が shadow パスワードファイルにアクセスする許可を持っていない。"
2861
2862 #. type: Plain text
2863 #: build/C/man3/getspnam.3:236
2864 msgid "Supplied buffer is too small."
2865 msgstr "与えられたバッファが小さすぎる。"
2866
2867 #. type: TP
2868 #: build/C/man3/getspnam.3:237
2869 #, no-wrap
2870 msgid "I</etc/shadow>"
2871 msgstr "I</etc/shadow>"
2872
2873 #. type: Plain text
2874 #: build/C/man3/getspnam.3:240
2875 msgid "local shadow password database file"
2876 msgstr "ローカルの shadow パスワード・データベースファイル"
2877
2878 #. type: TP
2879 #: build/C/man3/getspnam.3:240
2880 #, no-wrap
2881 msgid "I</etc/.pwd.lock>"
2882 msgstr "I</etc/.pwd.lock>"
2883
2884 #. type: Plain text
2885 #: build/C/man3/getspnam.3:243
2886 msgid "lock file"
2887 msgstr "ロックファイル"
2888
2889 #. type: Plain text
2890 #: build/C/man3/getspnam.3:249
2891 msgid ""
2892 "The include file I<E<lt>paths.hE<gt>> defines the constant B<_PATH_SHADOW> "
2893 "to the pathname of the shadow password file."
2894 msgstr ""
2895 "インクルードファイル I<E<lt>paths.hE<gt>> は定数 B<_PATH_SHADOW> を定義してい"
2896 "る。 これは shadow パスワードファイルのパス名である。"
2897
2898 #. type: Plain text
2899 #: build/C/man3/getspnam.3:253
2900 msgid ""
2901 "The shadow password database and its associated API are not specified in "
2902 "POSIX.1-2001.  However, many other systems provide a similar API."
2903 msgstr ""
2904 "shadow パスワード・データベースと関連 API は POSIX.1-2001 には記載されていな"
2905 "い。しかしながら、多くの他のシステムでも 同様の API が提供されている。"
2906
2907 #. type: Plain text
2908 #: build/C/man3/getspnam.3:258
2909 msgid "B<getgrnam>(3), B<getpwnam>(3), B<getpwnam_r>(3), B<shadow>(5)"
2910 msgstr "B<getgrnam>(3), B<getpwnam>(3), B<getpwnam_r>(3), B<shadow>(5)"
2911
2912 #. type: TH
2913 #: build/C/man5/group.5:26
2914 #, no-wrap
2915 msgid "GROUP"
2916 msgstr "GROUP"
2917
2918 #. type: Plain text
2919 #: build/C/man5/group.5:29
2920 msgid "group - user group file"
2921 msgstr "group - ユーザーグループのファイル"
2922
2923 #. type: Plain text
2924 #: build/C/man5/group.5:34
2925 msgid ""
2926 "The I</etc/group> file is a text file that defines the groups on the "
2927 "system.  There is one entry per line, with the following format:"
2928 msgstr ""
2929 "I</etc/group> ファイルは、そのシステムのグループを定義するテキスト\n"
2930 "ファイルである。 1 行に 1 エントリで、各行の形式は以下のとおりである。"
2931
2932 #. type: Plain text
2933 #: build/C/man5/group.5:37
2934 msgid "group_name:password:GID:user_list"
2935 msgstr "group_name:password:GID:user_list"
2936
2937 #. type: Plain text
2938 #: build/C/man5/group.5:40
2939 msgid "The fields are as follows:"
2940 msgstr "各フィールドは以下の通りである:"
2941
2942 #. type: TP
2943 #: build/C/man5/group.5:40
2944 #, no-wrap
2945 msgid "I<group_name>"
2946 msgstr "I<group_name>"
2947
2948 #. type: Plain text
2949 #: build/C/man5/group.5:43
2950 msgid "the name of the group."
2951 msgstr "グループの名前。"
2952
2953 #. type: TP
2954 #: build/C/man5/group.5:43 build/C/man5/passwd.5:91
2955 #, no-wrap
2956 msgid "I<password>"
2957 msgstr "I<password>"
2958
2959 #. type: Plain text
2960 #: build/C/man5/group.5:47
2961 msgid ""
2962 "the (encrypted) group password.  If this field is empty, no password is "
2963 "needed."
2964 msgstr ""
2965 "(暗号化された) パスワード。このフィールドが空ならパスワードは必要ない。"
2966
2967 #. type: TP
2968 #: build/C/man5/group.5:47 build/C/man5/passwd.5:103
2969 #, no-wrap
2970 msgid "I<GID>"
2971 msgstr "I<GID>"
2972
2973 #. type: Plain text
2974 #: build/C/man5/group.5:50
2975 msgid "the numeric group ID."
2976 msgstr "グループ ID 番号。"
2977
2978 #. type: TP
2979 #: build/C/man5/group.5:50
2980 #, no-wrap
2981 msgid "I<user_list>"
2982 msgstr "I<user_list>"
2983
2984 #. type: Plain text
2985 #: build/C/man5/group.5:53
2986 msgid ""
2987 "a list of the usernames that are members of this group, separated by commas."
2988 msgstr ""
2989 "このグループのメンバーのユーザー名のリスト。 ユーザー名はコンマで区切られる。"
2990
2991 #. type: Plain text
2992 #: build/C/man5/group.5:55
2993 msgid "/etc/group"
2994 msgstr "/etc/group"
2995
2996 #. type: Plain text
2997 #: build/C/man5/group.5:61
2998 msgid ""
2999 "As the 4.2BSD B<initgroups>(3)  man page says: No-one seems to keep I</etc/"
3000 "group> up-to-date."
3001 msgstr ""
3002 "4.2BSD の B<initgroups>(3)  には次のように書かれている: 誰も I</etc/group> を"
3003 "最新の状態に保ってはいないようである。"
3004
3005 #. type: Plain text
3006 #: build/C/man5/group.5:67
3007 msgid "B<login>(1), B<newgrp>(1), B<getgrent>(3), B<getgrnam>(3), B<passwd>(5)"
3008 msgstr ""
3009 "B<login>(1), B<newgrp>(1), B<getgrent>(3), B<getgrnam>(3), B<passwd>(5)"
3010
3011 #. type: TH
3012 #: build/C/man3/initgroups.3:32
3013 #, no-wrap
3014 msgid "INITGROUPS"
3015 msgstr "INITGROUPS"
3016
3017 #. type: TH
3018 #: build/C/man3/initgroups.3:32
3019 #, no-wrap
3020 msgid "2007-07-26"
3021 msgstr "2007-07-26"
3022
3023 #. type: Plain text
3024 #: build/C/man3/initgroups.3:35
3025 msgid "initgroups - initialize the supplementary group access list"
3026 msgstr "initgroups - 追加のグループアクセスリストの初期化"
3027
3028 #. type: Plain text
3029 #: build/C/man3/initgroups.3:41
3030 #, no-wrap
3031 msgid "B<int initgroups(const char *>I<user>B<, gid_t >I<group>B<);>\n"
3032 msgstr "B<int initgroups(const char *>I<user>B<, gid_t >I<group>B<);>\n"
3033
3034 #. type: Plain text
3035 #: build/C/man3/initgroups.3:50
3036 msgid "B<initgroups>(): _BSD_SOURCE"
3037 msgstr "B<initgroups>(): _BSD_SOURCE"
3038
3039 #. type: Plain text
3040 #: build/C/man3/initgroups.3:64
3041 msgid ""
3042 "The B<initgroups>()  function initializes the group access list by reading "
3043 "the group database I</etc/group> and using all groups of which I<user> is a "
3044 "member.  The additional group I<group> is also added to the list."
3045 msgstr ""
3046 "B<initgroups>()  関数はグループデータベース I</etc/group> を読み 込んで、"
3047 "I<user> が所属している全てのグループを使って、グループアク セスリストを初期化"
3048 "する。さらに、I<group> に示されるグループもグルー プアクセスリストに追加され"
3049 "る。"
3050
3051 #. type: Plain text
3052 #: build/C/man3/initgroups.3:68
3053 msgid "The I<user> argument must be non-NULL."
3054 msgstr "I<user> 引数は NULL であってはならない。"
3055
3056 #. type: Plain text
3057 #: build/C/man3/initgroups.3:75
3058 msgid ""
3059 "The B<initgroups>()  function returns 0 on success.  On error, -1 is "
3060 "returned, and I<errno> is set appropriately."
3061 msgstr ""
3062 "B<initgroups>()  関数は、成功すると 0 を返す。 エラーの場合は -1 を返し、 "
3063 "I<errno> を適切に設定する。"
3064
3065 #. type: Plain text
3066 #: build/C/man3/initgroups.3:79
3067 msgid "Insufficient memory to allocate group information structure."
3068 msgstr "グループ情報構造体を配置するためのメモリが不足している。"
3069
3070 #. type: TP
3071 #: build/C/man3/initgroups.3:79
3072 #, no-wrap
3073 msgid "B<EPERM>"
3074 msgstr "B<EPERM>"
3075
3076 #. type: Plain text
3077 #: build/C/man3/initgroups.3:84
3078 msgid ""
3079 "The calling process has insufficient privilege.  See the underlying system "
3080 "call B<setgroups>(2)."
3081 msgstr ""
3082 "呼出しプロセスが十分な特権を持っていない。 この関数の裏で実行されるシステム"
3083 "コール B<setgroups>(2)  も参照のこと。"
3084
3085 #. type: Plain text
3086 #: build/C/man3/initgroups.3:87
3087 #, no-wrap
3088 msgid "I</etc/group>\t\tgroup database file\n"
3089 msgstr "I</etc/group>\t\tグループデータベースファイル\n"
3090
3091 #. type: Plain text
3092 #: build/C/man3/initgroups.3:90
3093 msgid "SVr4, 4.3BSD."
3094 msgstr "SVr4, 4.3BSD."
3095
3096 #. type: Plain text
3097 #: build/C/man3/initgroups.3:94
3098 msgid "B<getgroups>(2), B<setgroups>(2), B<credentials>(7)"
3099 msgstr "B<getgroups>(2), B<setgroups>(2), B<credentials>(7)"
3100
3101 #. type: TH
3102 #: build/C/man5/passwd.5:30
3103 #, no-wrap
3104 msgid "PASSWD"
3105 msgstr "PASSWD"
3106
3107 #. type: TH
3108 #: build/C/man5/passwd.5:30
3109 #, no-wrap
3110 msgid "2012-05-03"
3111 msgstr "2012-05-03"
3112
3113 #. type: Plain text
3114 #: build/C/man5/passwd.5:33
3115 msgid "passwd - password file"
3116 msgstr "passwd - パスワードファイル"
3117
3118 #. type: Plain text
3119 #: build/C/man5/passwd.5:41
3120 msgid ""
3121 "The I</etc/passwd> file is a text file that describes user login accounts "
3122 "for the system.  It should have read permission allowed for all users (many "
3123 "utilities, like B<ls>(1)  use it to map user IDs to usernames), but write "
3124 "access only for the superuser."
3125 msgstr ""
3126 "I</etc/passwd> ファイルは、そのシステムのユーザのログインアカウントリス\n"
3127 "トを記述したテキストファイルである。パスワードファイルの読み出し許可は\n"
3128 "全ユーザーに対して与えるが(I<ls>(1) 等の多くのユーティリティではユーザー\n"
3129 "ID をユーザー名に 対応させるのに B<passwd> ファイルを使用する)、書き込\n"
3130 "み許可はスーパーユーザーにのみ与えるようにすべきである。"
3131
3132 #. type: Plain text
3133 #: build/C/man5/passwd.5:53
3134 msgid ""
3135 "In the good old days there was no great problem with this general read "
3136 "permission.  Everybody could read the encrypted passwords, but the hardware "
3137 "was too slow to crack a well-chosen password, and moreover the basic "
3138 "assumption used to be that of a friendly user-community.  These days many "
3139 "people run some version of the shadow password suite, where I</etc/passwd> "
3140 "has an \\(aqx\\(aq character in the password field, and the encrypted "
3141 "passwords are in I</etc/shadow>, which is readable by the superuser only."
3142 msgstr ""
3143 "古き良き時代には、この全ユーザーに対する読み取り許可は 特別な問題を起こ\n"
3144 "さなかった。誰でも暗号化されたパスワードを 読むことが出来たが、上手に選\n"
3145 "ばれたパスワードを破るのには 当時のハードウェアの速度はあまりに遅かった\n"
3146 "し、それに加えて 友好的なユーザー社会であることを基本的な前提としていた。\n"
3147 "最近では多くの人が、何らかのバージョンの shadow password suite\n"
3148 "(シャドウ・パスワード機能を実現するためのプログラム群) を動かしている。\n"
3149 "その場合 I</etc/passwd> ファイルのパスワード欄には\n"
3150 "\\(aqx\\(aq 文字が設定され、暗号化されたパスワードは\n"
3151 "I</etc/shadow> ファイルに保持される。 I</etc/shadow> ファイルはスーパー\n"
3152 "ユーザーだけが読み出すことができる。"
3153
3154 #. type: Plain text
3155 #: build/C/man5/passwd.5:62
3156 msgid ""
3157 "If the encrypted password, whether in I</etc/passwd> or in I</etc/shadow>, "
3158 "is an empty string, login is allowed without even asking for a password.  "
3159 "Note that this functionality may be intentionally disabled in applications, "
3160 "or configurable (for example using the \"nullok\" or \"nonull\" arguments to "
3161 "pam_unix.so)."
3162 msgstr ""
3163 "I</etc/passwd> と I</etc/shadow> のどちらの場合でも暗号化パスワードが\n"
3164 "空文字列の場合、パスワードの問い合わせなしでのログインが許可される。\n"
3165 "この機能は、アプリケーションで意図的に無効されたり、\n"
3166 "設定可能  (例えば pam_unix.so の \"nullok\" や \"nonull\" 引き数など)\n"
3167 "になっていたりする場合がある点に注意すること。"
3168
3169 #. type: Plain text
3170 #: build/C/man5/passwd.5:67
3171 msgid ""
3172 "If the encrypted password in I</etc/passwd> is \"I<*NP*>\" (without the "
3173 "quotes), the shadow record should be obtained from an NIS+ server."
3174 msgstr ""
3175 "I</etc/passwd> の暗号化パスワードが \"I<*NP*>\" (クォートはなし) の場合、\n"
3176 "shadow レコードを NIS+ サーバから取得することを意味する。"
3177
3178 #. type: Plain text
3179 #: build/C/man5/passwd.5:73
3180 msgid ""
3181 "Regardless of whether shadow passwords are used, many system administrators "
3182 "use an asterisk (*) in the encrypted password field to make sure that this "
3183 "user can not authenticate him- or herself using a password.  (But see NOTES "
3184 "below.)"
3185 msgstr ""
3186 "shadow password が使われているかどうかにはよらず、多くのシステム管理者は、\n"
3187 "暗号化パスワード欄にアスタリスク (*) を設定することで、そのユーザーが\n"
3188 "パスワードでの認証が受けられないようにしている (下記の「注意」の項を参照)。"
3189
3190 #. type: Plain text
3191 #: build/C/man5/passwd.5:78
3192 msgid ""
3193 "If you create a new login, first put an asterisk (*) in the password field, "
3194 "then use B<passwd>(1)  to set it."
3195 msgstr ""
3196 "新しいユーザーを登録する場合には、パスワード欄にアスタリスク (*) を設定してお"
3197 "き、\n"
3198 "B<passwd>(1) コマンドにより設定を行うようにすること。"
3199
3200 #. type: Plain text
3201 #: build/C/man5/passwd.5:81
3202 msgid ""
3203 "Each line of the file describes a single user, and contains seven colon-"
3204 "separated fields:"
3205 msgstr ""
3206 "ファイルの 1 行は 1 ユーザの情報を表し、\n"
3207 "コロン区切りの 7 つの項目を含む。"
3208
3209 #. type: Plain text
3210 #: build/C/man5/passwd.5:84
3211 msgid "name:password:UID:GID:GECOS:directory:shell"
3212 msgstr "name:password:UID:GID:GECOS:directory:shell"
3213
3214 #. type: Plain text
3215 #: build/C/man5/passwd.5:87
3216 msgid "The field are as follows:"
3217 msgstr "各フィールドは以下の通りである:"
3218
3219 #. type: TP
3220 #: build/C/man5/passwd.5:87
3221 #, no-wrap
3222 msgid "I<name>"
3223 msgstr "I<name>"
3224
3225 #. type: Plain text
3226 #: build/C/man5/passwd.5:91
3227 msgid "This is the user's login name.  It should not contain capital letters."
3228 msgstr "ユーザーのログイン名。大文字を含まないすべきである。"
3229
3230 #. type: Plain text
3231 #: build/C/man5/passwd.5:98
3232 msgid ""
3233 "This is either the encrypted user password, an asterisk (*), or the letter "
3234 "\\(aqx\\(aq.  (See B<pwconv>(8)  for an explanation of \\(aqx\\(aq.)"
3235 msgstr ""
3236 "暗号化されたユーザのパスワード、アスタリスク (*)、文字 \\(aqx\\(aq の\n"
3237 "いずれかである (\\(aqx\\(aq の説明については B<pwconv>(8) を参照)。"
3238
3239 #. type: TP
3240 #: build/C/man5/passwd.5:98
3241 #, no-wrap
3242 msgid "I<UID>"
3243 msgstr "I<UID>"
3244
3245 #. type: Plain text
3246 #: build/C/man5/passwd.5:103
3247 msgid "The privileged I<root> login account (superuser) has the user ID 0."
3248 msgstr ""
3249 "特権を持つ I<root> ログインアカウント (スーパーユーザ) は\n"
3250 "ユーザ ID 0 である。"
3251
3252 #. type: Plain text
3253 #: build/C/man5/passwd.5:108
3254 msgid ""
3255 "This is the numeric primary group ID for this user.  (Additional groups for "
3256 "the user are defined in the system group file; see B<group>(5))."
3257 msgstr ""
3258 "このユーザのプライマリグループ ID の番号。\n"
3259 "(このユーザの追加のグループはシステムのグループ定義ファイル\n"
3260 "で定義される。 B<group>(5) を参照)。"
3261
3262 #. type: TP
3263 #: build/C/man5/passwd.5:108
3264 #, no-wrap
3265 msgid "I<GECOS>"
3266 msgstr "I<GECOS>"
3267
3268 #. type: Plain text
3269 #: build/C/man5/passwd.5:116
3270 msgid ""
3271 "This field (sometimes called the \"comment field\")  is optional and used "
3272 "only for informational purposes.  Usually, it contains the full username.  "
3273 "Some programs (for example, B<finger>(1))  display information from this "
3274 "field."
3275 msgstr ""
3276 "本欄 (「コメント欄」と呼ばれることもある) は省略可能で、情報提供の\n"
3277 "目的のみに使われる。ユーザーのフルネームを設定することが多い。\n"
3278 "(B<finger>(1) などの) いくつかのプログラムでは、このフィールドの\n"
3279 "情報が表示される。"
3280
3281 #. type: Plain text
3282 #: build/C/man5/passwd.5:125
3283 msgid ""
3284 "GECOS stands for \"General Electric Comprehensive Operating System\", which "
3285 "was renamed to GCOS when GE's large systems division was sold to Honeywell.  "
3286 "Dennis Ritchie has reported: \"Sometimes we sent printer output or batch "
3287 "jobs to the GCOS machine.  The gcos field in the password file was a place "
3288 "to stash the information for the $IDENTcard.  Not elegant.\""
3289 msgstr ""
3290 "GECOS は General Electric Comprehensive Operating System を意味しており、\n"
3291 "GE 社の大規模システム部門が Honeywell 社に売却された際に GCOS へと変更\n"
3292 "された。Dennis Ritchie 氏は次のように言っている:「時々プリンタ出力や、\n"
3293 "バッチジョブを GCOS マシンに送ったりするが、パスワードファイルの \n"
3294 "gcos 欄は $IDENT カード用の情報を 隠しておくための場所なんだ。\n"
3295 "まるっきりエレガントじゃない。」"
3296
3297 #. type: TP
3298 #: build/C/man5/passwd.5:125
3299 #, no-wrap
3300 msgid "I<directory>"
3301 msgstr "I<directory>"
3302
3303 #. type: Plain text
3304 #: build/C/man5/passwd.5:132
3305 msgid ""
3306 "This is the user's home directory: the initial directory where the user is "
3307 "placed after logging in.  The value in this field is used to set the B<HOME> "
3308 "environment variable."
3309 msgstr ""
3310 "ユーザのホームディレクトリ、つまりログイン直後のそのユーザの\n"
3311 "初期ディレクトリである。\n"
3312 "このフィールドの値は B<HOME> 環境変数に設定される。"
3313
3314 #. type: TP
3315 #: build/C/man5/passwd.5:132
3316 #, no-wrap
3317 msgid "I<shell>"
3318 msgstr "I<shell>"
3319
3320 #. type: Plain text
3321 #: build/C/man5/passwd.5:142
3322 msgid ""
3323 "This is the program to run at login (if empty, use I</bin/sh>).  If set to a "
3324 "nonexistent executable, the user will be unable to login through B<login>"
3325 "(1).  The value in this field is used to set the B<SHELL> environment "
3326 "variable."
3327 msgstr ""
3328 "ログイン時に動くプログラム名 (空欄の場合 I</bin/sh> が使われる)。\n"
3329 "存在しない実行ファイルが設定された場合、そのユーザは B<login>(1) による\n"
3330 "システムへのログインができなくなる。\n"
3331 "このフィールドの値は B<SHELL> 環境変数の値に設定される。"
3332
3333 #. type: Plain text
3334 #: build/C/man5/passwd.5:148
3335 msgid ""
3336 "If you want to create user groups, there must be an entry in I</etc/group>, "
3337 "or no group will exist."
3338 msgstr ""
3339 "ユーザーグループを作りたい場合には、そのグループが I</etc/group> の中に\n"
3340 "定義されていなければならない。そうしないとグループを作ったことにはならない。"
3341
3342 #. type: Plain text
3343 #: build/C/man5/passwd.5:162
3344 msgid ""
3345 "If the encrypted password is set to an asterisk (*), the user will be unable "
3346 "to login using B<login>(1), but may still login using B<rlogin>(1), run "
3347 "existing processes and initiate new ones through B<rsh>(1), B<cron>(8), B<at>"
3348 "(1), or mail filters, etc.  Trying to lock an account by simply changing the "
3349 "shell field yields the same result and additionally allows the use of B<su>"
3350 "(1)."
3351 msgstr ""
3352 "暗号化パスワードとしてアスタリスク (*) を設定すると、 B<login>(1) を\n"
3353 "使ってのログインができなくなるが、 B<rlogin>(1) ではまだログインができる"
3354 "し、\n"
3355 "B<rsh>(1), B<cron>(8), B<at>(1) やメールのフィルタ等を使い、現存するプロセス"
3356 "を\n"
3357 "実行させたり、新たなプロセスを起動したりすることができる。\n"
3358 "使用する shell の欄を、単に変更することでアカウントを 使えないようにする\n"
3359 "のも同様の結果となる。その場合にはさらに B<su>(1) も有効なまま残ってしまう。"
3360
3361 #. type: Plain text
3362 #: build/C/man5/passwd.5:171
3363 msgid ""
3364 "B<login>(1), B<passwd>(1), B<su>(1), B<getpwent>(3), B<getpwnam>(3), B<crypt>"
3365 "(3), B<group>(5), B<shadow>(5)"
3366 msgstr ""
3367 "B<login>(1), B<passwd>(1), B<su>(1), B<getpwent>(3), B<getpwnam>(3), B<crypt>"
3368 "(3), B<group>(5), B<shadow>(5)"
3369
3370 #. type: TH
3371 #: build/C/man3/putgrent.3:7
3372 #, no-wrap
3373 msgid "PUTGRENT"
3374 msgstr "PUTGRENT"
3375
3376 #. type: TH
3377 #: build/C/man3/putgrent.3:7 build/C/man3/setaliasent.3:9
3378 #, no-wrap
3379 msgid "2003-09-09"
3380 msgstr "2003-09-09"
3381
3382 #. type: Plain text
3383 #: build/C/man3/putgrent.3:10
3384 msgid "putgrent - write a group database entry to a file"
3385 msgstr "putgrent - グループデータベースエントリをファイルに書き込む"
3386
3387 #. type: Plain text
3388 #: build/C/man3/putgrent.3:12
3389 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
3390 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
3391
3392 #. type: Plain text
3393 #: build/C/man3/putgrent.3:16
3394 msgid "B<int putgrent(const struct group *>I<grp>B<, FILE *>I<fp>B<);>"
3395 msgstr "B<int putgrent(const struct group *>I<grp>B<, FILE *>I<fp>B<);>"
3396
3397 #. type: Plain text
3398 #: build/C/man3/putgrent.3:27
3399 msgid ""
3400 "The B<putgrent>()  function is the counterpart for B<fgetgrent>(3).  The "
3401 "function writes the content of the provided I<struct group> into the file "
3402 "pointed to by I<fp>.  The list of group members must be NULL-terminated or "
3403 "NULL-initialized."
3404 msgstr ""
3405 "B<putgrent>()  関数は B<fgetgrent>(3)  の逆である。 この関数は与えられた "
3406 "I<struct group> を I<fp> で指されるファイルに書き込む。 グループメンバのリス"
3407 "トは、NULL で終端されるか、 NULL で初期化されなければならない。"
3408
3409 #. type: Plain text
3410 #: build/C/man3/putgrent.3:31
3411 msgid "The I<struct group> is defined as follows:"
3412 msgstr "I<struct group> は以下のように定義される:"
3413
3414 #. type: Plain text
3415 #: build/C/man3/putgrent.3:40
3416 #, no-wrap
3417 msgid ""
3418 "struct group {\n"
3419 "    char   *gr_name;      /* group name */\n"
3420 "    char   *gr_passwd;    /* group password */\n"
3421 "    gid_t   gr_gid;       /* group ID */\n"
3422 "    char  **gr_mem;       /* group members */\n"
3423 "};\n"
3424 msgstr ""
3425 "struct group {\n"
3426 "    char   *gr_name;      /* グループ名 */\n"
3427 "    char   *gr_passwd;    /* グループパスワード */\n"
3428 "    gid_t   gr_gid;       /* グループ ID */\n"
3429 "    char  **gr_mem;       /* グループメンバ */\n"
3430 "};\n"
3431
3432 #. type: Plain text
3433 #: build/C/man3/putgrent.3:44
3434 msgid "The function returns zero on success, and a nonzero value on error."
3435 msgstr "この関数は、成功した場合は 0 を返し、エラーの場合は 0 以外の値を返す。"
3436
3437 #. type: Plain text
3438 #: build/C/man3/putgrent.3:46
3439 msgid "This function is a GNU extension."
3440 msgstr "この関数は GNU による拡張である。"
3441
3442 #. type: Plain text
3443 #: build/C/man3/putgrent.3:50
3444 msgid "B<fgetgrent>(3), B<getgrent>(3), B<group>(5)"
3445 msgstr "B<fgetgrent>(3), B<getgrent>(3), B<group>(5)"
3446
3447 #. type: TH
3448 #: build/C/man3/putpwent.3:30
3449 #, no-wrap
3450 msgid "PUTPWENT"
3451 msgstr "PUTPWENT"
3452
3453 #. type: Plain text
3454 #: build/C/man3/putpwent.3:33
3455 msgid "putpwent - write a password file entry"
3456 msgstr "putpwent - パスワードファイルエントリの書き込み"
3457
3458 #. type: Plain text
3459 #: build/C/man3/putpwent.3:40
3460 #, no-wrap
3461 msgid "B<int putpwent(const struct passwd *>I<p>B<, FILE *>I<stream>B<);>\n"
3462 msgstr "B<int putpwent(const struct passwd *>I<p>B<, FILE *>I<stream>B<);>\n"
3463
3464 #. type: Plain text
3465 #: build/C/man3/putpwent.3:49
3466 msgid "B<putpwent>(): _SVID_SOURCE"
3467 msgstr "B<putpwent>(): _SVID_SOURCE"
3468
3469 #. type: Plain text
3470 #: build/C/man3/putpwent.3:54
3471 msgid ""
3472 "The B<putpwent>()  function writes a password entry from the structure I<p> "
3473 "in the file associated with I<stream>."
3474 msgstr ""
3475 "B<putpwent>()  関数は、構造体 I<p> からのパスワードエントリを I<stream> に結"
3476 "びつけられたファイルに書き込む。"
3477
3478 #. type: Plain text
3479 #: build/C/man3/putpwent.3:68
3480 #, no-wrap
3481 msgid ""
3482 "struct passwd {\n"
3483 "    char    *pw_name;        /* username */\n"
3484 "    char    *pw_passwd;      /* user password */\n"
3485 "    uid_t    pw_uid;         /* user ID */\n"
3486 "    gid_t    pw_gid;         /* group ID */\n"
3487 "    char    *pw_gecos;       /* real name */\n"
3488 "    char    *pw_dir;         /* home directory */\n"
3489 "    char    *pw_shell;       /* shell program */\n"
3490 "};\n"
3491 msgstr ""
3492 "struct passwd {\n"
3493 "    char    *pw_name;        /* ユーザ名 */\n"
3494 "    char    *pw_passwd;      /* ユーザのパスワード */\n"
3495 "    uid_t    pw_uid;         /* ユーザ ID */\n"
3496 "    gid_t    pw_gid;         /* グループ ID */\n"
3497 "    char    *pw_gecos;       /* 本名 */\n"
3498 "    char    *pw_dir;         /* ホームディレクトリ */\n"
3499 "    char    *pw_shell;       /* シェルプログラム */\n"
3500 "};\n"
3501
3502 #. type: Plain text
3503 #: build/C/man3/putpwent.3:78
3504 msgid ""
3505 "The B<putpwent>()  function returns 0 on success, or -1 if an error occurs.  "
3506 "In the event of an error, I<errno> is set to indicate the cause."
3507 msgstr ""
3508 "B<putpwent>() 関数は、成功した場合 0 を返す。 エラーが発生した場合 -1 を返"
3509 "し、 I<errno>に原因を示す値が設定される。"
3510
3511 #. type: Plain text
3512 #: build/C/man3/putpwent.3:82
3513 msgid "Invalid (NULL) argument given."
3514 msgstr "無効な(NULL)引数が渡された。"
3515
3516 #. type: Plain text
3517 #: build/C/man3/putpwent.3:92
3518 msgid ""
3519 "B<endpwent>(3), B<fgetpwent>(3), B<getpw>(3), B<getpwent>(3), B<getpwnam>"
3520 "(3), B<getpwuid>(3), B<setpwent>(3)"
3521 msgstr ""
3522 "B<endpwent>(3), B<fgetpwent>(3), B<getpw>(3), B<getpwent>(3), B<getpwnam>"
3523 "(3), B<getpwuid>(3), B<setpwent>(3)"
3524
3525 #. type: TH
3526 #: build/C/man3/setaliasent.3:9
3527 #, no-wrap
3528 msgid "SETALIASENT"
3529 msgstr "SETALIASENT"
3530
3531 #. type: Plain text
3532 #: build/C/man3/setaliasent.3:13
3533 msgid ""
3534 "setaliasent, endaliasent, getaliasent, getaliasent_r, getaliasbyname, "
3535 "getaliasbyname_r - read an alias entry"
3536 msgstr ""
3537 "setaliasent, endaliasent, getaliasent, getaliasent_r, getaliasbyname, "
3538 "getaliasbyname_r - エイリアスエントリを読み込む"
3539
3540 #. type: Plain text
3541 #: build/C/man3/setaliasent.3:15
3542 msgid "B<#include E<lt>aliases.hE<gt>>"
3543 msgstr "B<#include E<lt>aliases.hE<gt>>"
3544
3545 #. type: Plain text
3546 #: build/C/man3/setaliasent.3:17
3547 msgid "B<void setaliasent(void);>"
3548 msgstr "B<void setaliasent(void);>"
3549
3550 #. type: Plain text
3551 #: build/C/man3/setaliasent.3:19
3552 msgid "B<void endaliasent(void);>"
3553 msgstr "B<void endaliasent(void);>"
3554
3555 #. type: Plain text
3556 #: build/C/man3/setaliasent.3:21
3557 msgid "B<struct aliasent *getaliasent(void);>"
3558 msgstr "B<struct aliasent *getaliasent(void);>"
3559
3560 #. type: Plain text
3561 #: build/C/man3/setaliasent.3:23
3562 msgid "B<int getaliasent_r(struct aliasent *>I<result>B<,>"
3563 msgstr "B<int getaliasent_r(struct aliasent *>I<result>B<,>"
3564
3565 #. type: Plain text
3566 #: build/C/man3/setaliasent.3:25 build/C/man3/setaliasent.3:31
3567 msgid ""
3568 "B< char *>I<buffer>B<, size_t >I<buflen>B<, struct aliasent **>I<res>B<);>"
3569 msgstr ""
3570 "B< char *>I<buffer>B<, size_t >I<buflen>B<, struct aliasent **>I<res>B<);>"
3571
3572 #. type: Plain text
3573 #: build/C/man3/setaliasent.3:27
3574 msgid "B<struct aliasent *getaliasbyname(const char *>I<name>B<);>"
3575 msgstr "B<struct aliasent *getaliasbyname(const char *>I<name>B<);>"
3576
3577 #. type: Plain text
3578 #: build/C/man3/setaliasent.3:29
3579 msgid ""
3580 "B<int getaliasbyname_r(const char *>I<name>B<, struct aliasent *>I<result>B<,"
3581 ">"
3582 msgstr ""
3583 "B<int getaliasbyname_r(const char *>I<name>B<, struct aliasent *>I<result>B<,"
3584 ">"
3585
3586 #. type: Plain text
3587 #: build/C/man3/setaliasent.3:37
3588 msgid ""
3589 "One of the databases available with the Name Service Switch (NSS)  is the "
3590 "aliases database, that contains mail aliases.  (To find out which databases "
3591 "are supported, try I<getent --help>.)  Six functions are provided to access "
3592 "the aliases database."
3593 msgstr ""
3594 "ネームサービススイッチ (Name Service Switch, NSS) で 利用可能なデータベース"
3595 "の 1 つとして、 メールエイリアスを保持するエイリアスデータベースがある。 (ど"
3596 "のデータベースがサポートされているかを調べるには、 getent --help を実行するこ"
3597 "と。)  エイリアスデータベースにアクセスするために、 6 つの関数が提供されてい"
3598 "る。"
3599
3600 #. type: Plain text
3601 #: build/C/man3/setaliasent.3:44
3602 msgid ""
3603 "The B<getaliasent>()  function returns a pointer to a structure containing "
3604 "the group information from the aliases database.  The first time it is "
3605 "called it returns the first entry; thereafter, it returns successive entries."
3606 msgstr ""
3607 "B<getaliasent>()  関数はエイリアスデータベースから取り出した グループ情報を含"
3608 "む構造体へのポインタを返す。 1 回目に関数が呼ばれたときには、最初のエントリを"
3609 "返す; それ以降はその後のエントリを返す。"
3610
3611 #. type: Plain text
3612 #: build/C/man3/setaliasent.3:49
3613 msgid ""
3614 "The B<setaliasent>()  function rewinds the file pointer to the beginning of "
3615 "the aliases database."
3616 msgstr ""
3617 "B<setaliasent>()  関数はファイルポインタをエイリアスデータベースの先頭に巻き"
3618 "戻す。"
3619
3620 #. type: Plain text
3621 #: build/C/man3/setaliasent.3:53
3622 msgid "The B<endaliasent>()  function closes the aliases database."
3623 msgstr "B<endaliasent>()  関数はエイリアスデータベースをクローズする。"
3624
3625 #. type: Plain text
3626 #: build/C/man3/setaliasent.3:60
3627 msgid ""
3628 "B<getaliasent_r>()  is the reentrant version of the previous function.  The "
3629 "requested structure is stored via the first argument but the programmer "
3630 "needs to fill the other arguments also.  Not providing enough space causes "
3631 "the function to fail."
3632 msgstr ""
3633 "B<getaliasent_r>()  関数は上記の関数のリエントラント版である。 要求された構造"
3634 "体は第 1 引き数に格納されるが、 プログラマは他の引き数も埋めてやる必要があ"
3635 "る。 充分な領域が与えられないと、この関数は失敗する。"
3636
3637 #. type: Plain text
3638 #: build/C/man3/setaliasent.3:66
3639 msgid ""
3640 "The function B<getaliasbyname>()  takes the name argument and searches the "
3641 "aliases database.  The entry is returned as a pointer to a I<struct "
3642 "aliasent>."
3643 msgstr ""
3644 "関数 B<getaliasbyname>()  は name 引き数をとり、エイリアスデータベースを検索"
3645 "する。 エントリは I<struct aliasent> へのポインタとして返される。"
3646
3647 #. type: Plain text
3648 #: build/C/man3/setaliasent.3:73
3649 msgid ""
3650 "B<getaliasbyname_r>()  is the reentrant version of the previous function.  "
3651 "The requested structure is stored via the second argument but the programmer "
3652 "needs to fill the other arguments also.  Not providing enough space causes "
3653 "the function to fail."
3654 msgstr ""
3655 "B<getaliasbyname_r>()  は上記の関数のリエントラント版である。 要求された構造"
3656 "体は第 2 引き数に格納されるが、 プログラマは他の引き数も埋めてやる必要があ"
3657 "る。 充分な領域が与えられないと、この関数は失敗する。"
3658
3659 #. type: Plain text
3660 #: build/C/man3/setaliasent.3:78
3661 msgid "The I<struct aliasent> is defined in I<E<lt>aliases.hE<gt>>:"
3662 msgstr "I<struct aliasent> は I<E<lt>aliases.hE<gt>> で定義されている。"
3663
3664 #. type: Plain text
3665 #: build/C/man3/setaliasent.3:87
3666 #, no-wrap
3667 msgid ""
3668 "struct aliasent {\n"
3669 "    char    *alias_name;             /* alias name */\n"
3670 "    size_t   alias_members_len;\n"
3671 "    char   **alias_members;          /* alias name list */\n"
3672 "    int      alias_local;\n"
3673 "};\n"
3674 msgstr ""
3675 "struct aliasent {\n"
3676 "    char    *alias_name;             /* エイリアス名 */\n"
3677 "    size_t   alias_members_len;\n"
3678 "    char   **alias_members;          /* エイリアス名のリスト */\n"
3679 "    int      alias_local;\n"
3680 "};\n"
3681
3682 #. type: Plain text
3683 #: build/C/man3/setaliasent.3:95
3684 msgid ""
3685 "The functions B<getaliasent_r>()  and B<getaliasbyname_r>()  return a "
3686 "nonzero value on error."
3687 msgstr ""
3688 "関数 B<getaliasent_r>()  と B<getaliasbyname_r>()  は、エラーの場合に 0 以外"
3689 "の値を返す。"
3690
3691 #. type: Plain text
3692 #: build/C/man3/setaliasent.3:101
3693 msgid ""
3694 "The default alias database is the file I</etc/aliases>.  This can be changed "
3695 "in the I</etc/nsswitch.conf> file."
3696 msgstr ""
3697 "デフォルトのエイリアスデータベースは、ファイル I</etc/aliases> である。 これ"
3698 "は I</etc/nsswitch.conf> ファイルで変更できる。"
3699
3700 #. type: Plain text
3701 #: build/C/man3/setaliasent.3:104
3702 msgid ""
3703 "These routines are glibc-specific.  The NeXT system has similar routines:"
3704 msgstr ""
3705 "このルーチンは glibc 固有のものである。 NeXT システムには同様のルーチンがあ"
3706 "る。"
3707
3708 #. type: Plain text
3709 #: build/C/man3/setaliasent.3:108
3710 #, no-wrap
3711 msgid "#include E<lt>aliasdb.hE<gt>\n"
3712 msgstr "#include E<lt>aliasdb.hE<gt>\n"
3713
3714 #. type: Plain text
3715 #: build/C/man3/setaliasent.3:113
3716 #, no-wrap
3717 msgid ""
3718 "void alias_setent(void);\n"
3719 "void alias_endent(void);\n"
3720 "alias_ent *alias_getent(void);\n"
3721 "alias_ent *alias_getbyname(char *name);\n"
3722 msgstr ""
3723 "void alias_setent(void);\n"
3724 "void alias_endent(void);\n"
3725 "alias_ent *alias_getent(void);\n"
3726 "alias_ent *alias_getbyname(char *name);\n"
3727
3728 #. type: Plain text
3729 #: build/C/man3/setaliasent.3:119
3730 msgid ""
3731 "The following example compiles with I<gcc example.c -o example>.  It will "
3732 "dump all names in the alias database."
3733 msgstr ""
3734 "以下の例は I<gcc example.c -o example> でコンパイルできる。 これはエイリアス"
3735 "データベースにある全ての名前をダンプする。"
3736
3737 #. type: Plain text
3738 #: build/C/man3/setaliasent.3:125
3739 #, no-wrap
3740 msgid ""
3741 "#include E<lt>aliases.hE<gt>\n"
3742 "#include E<lt>stdio.hE<gt>\n"
3743 "#include E<lt>stdlib.hE<gt>\n"
3744 "#include E<lt>errno.hE<gt>\n"
3745 msgstr ""
3746 "#include E<lt>aliases.hE<gt>\n"
3747 "#include E<lt>stdio.hE<gt>\n"
3748 "#include E<lt>stdlib.hE<gt>\n"
3749 "#include E<lt>errno.hE<gt>\n"
3750
3751 #. type: Plain text
3752 #: build/C/man3/setaliasent.3:144
3753 #, no-wrap
3754 msgid ""
3755 "int\n"
3756 "main(void)\n"
3757 "{\n"
3758 "    struct aliasent *al;\n"
3759 "    setaliasent();\n"
3760 "    for (;;) {\n"
3761 "        al = getaliasent();\n"
3762 "        if (al == NULL)\n"
3763 "            break;\n"
3764 "        printf(\"Name: %s\\en\", al-E<gt>alias_name);\n"
3765 "    }\n"
3766 "    if (errno) {\n"
3767 "        perror(\"reading alias\");\n"
3768 "        exit(EXIT_FAILURE);\n"
3769 "    }\n"
3770 "    endaliasent();\n"
3771 "    exit(EXIT_SUCCESS);\n"
3772 "}\n"
3773 msgstr ""
3774 "int\n"
3775 "main(void)\n"
3776 "{\n"
3777 "    struct aliasent *al;\n"
3778 "    setaliasent();\n"
3779 "    for (;;) {\n"
3780 "        al = getaliasent();\n"
3781 "        if (al == NULL)\n"
3782 "            break;\n"
3783 "        printf(\"Name: %s\\en\", al-E<gt>alias_name);\n"
3784 "    }\n"
3785 "    if (errno) {\n"
3786 "        perror(\"reading alias\");\n"
3787 "        exit(EXIT_FAILURE);\n"
3788 "    }\n"
3789 "    endaliasent();\n"
3790 "    exit(EXIT_SUCCESS);\n"
3791
3792 #.  /etc/sendmail/aliases
3793 #.  Yellow Pages
3794 #.  newaliases, postalias
3795 #. type: Plain text
3796 #: build/C/man3/setaliasent.3:154
3797 msgid "B<getgrent>(3), B<getpwent>(3), B<getspent>(3), B<aliases>(5)"
3798 msgstr "B<getgrent>(3), B<getpwent>(3), B<getspent>(3), B<aliases>(5)"
3799
3800 #~ msgid "2008-07-10"
3801 #~ msgstr "2008-07-10"
3802
3803 #~ msgid "2012-04-23"
3804 #~ msgstr "2012-04-23"
3805
3806 #~ msgid ""
3807 #~ "The B<putpwent>()  function returns 0 on success, or -1 if an error "
3808 #~ "occurs."
3809 #~ msgstr ""
3810 #~ "B<putpwent>()  関数は、成功した場合は 0 を、エラーが発生した場合は -1 を返"
3811 #~ "す。"