OSDN Git Service

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