OSDN Git Service

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