OSDN Git Service

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