OSDN Git Service

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