OSDN Git Service

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