OSDN Git Service

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