OSDN Git Service

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