OSDN Git Service

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