OSDN Git Service

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