OSDN Git Service

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