OSDN Git Service

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