OSDN Git Service

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