OSDN Git Service

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