OSDN Git Service

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