OSDN Git Service

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