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.
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2012-03-22 04:26+0900\n"
10 "PO-Revision-Date: 2012-03-22 00:46+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
19 #: build/C/man3/fgetgrent.3:28
25 #: build/C/man3/fgetgrent.3:28 build/C/man3/fgetpwent.3:31
31 #: build/C/man3/fgetgrent.3:28 build/C/man3/fgetpwent.3:31
32 #: build/C/man3/getgrent_r.3:23 build/C/man3/getgrouplist.3:27
33 #: build/C/man3/getpw.3:30 build/C/man3/getpwent.3:31
34 #: build/C/man3/getpwent_r.3:23 build/C/man3/getpwnam.3:35
35 #: build/C/man3/getspnam.3:6 build/C/man3/initgroups.3:30
36 #: build/C/man3/putgrent.3:4 build/C/man3/putpwent.3:28
37 #: build/C/man3/setaliasent.3:6
43 #: build/C/man3/fgetgrent.3:28 build/C/man3/fgetpwent.3:31
44 #: build/C/man5/ftpusers.5:17 build/C/man3/getgrent.3:28
45 #: build/C/man3/getgrent_r.3:23 build/C/man3/getgrnam.3:31
46 #: build/C/man3/getgrouplist.3:27 build/C/man3/getpw.3:30
47 #: build/C/man3/getpwent.3:31 build/C/man3/getpwent_r.3:23
48 #: build/C/man3/getpwnam.3:35 build/C/man3/getspnam.3:6
49 #: build/C/man5/group.5:25 build/C/man3/initgroups.3:30
50 #: build/C/man5/passwd.5:29 build/C/man3/putgrent.3:4
51 #: build/C/man3/putpwent.3:28 build/C/man3/setaliasent.3:6
53 msgid "Linux Programmer's Manual"
54 msgstr "Linux Programmer's Manual"
57 #: build/C/man3/fgetgrent.3:29 build/C/man3/fgetpwent.3:32
58 #: build/C/man5/ftpusers.5:18 build/C/man3/getgrent.3:29
59 #: build/C/man3/getgrent_r.3:24 build/C/man3/getgrnam.3:32
60 #: build/C/man3/getgrouplist.3:28 build/C/man3/getpw.3:31
61 #: build/C/man3/getpwent.3:32 build/C/man3/getpwent_r.3:24
62 #: build/C/man3/getpwnam.3:36 build/C/man3/getspnam.3:7
63 #: build/C/man5/group.5:26 build/C/man3/initgroups.3:31
64 #: build/C/man5/passwd.5:30 build/C/man3/putgrent.3:5
65 #: build/C/man3/putpwent.3:29 build/C/man3/setaliasent.3:7
71 #: build/C/man3/fgetgrent.3:31
72 msgid "fgetgrent - get group file entry"
73 msgstr "fgetgrent - グループファイルエントリの取り出し"
76 #: build/C/man3/fgetgrent.3:31 build/C/man3/fgetpwent.3:34
77 #: build/C/man3/getgrent.3:31 build/C/man3/getgrent_r.3:26
78 #: build/C/man3/getgrnam.3:34 build/C/man3/getgrouplist.3:30
79 #: build/C/man3/getpw.3:33 build/C/man3/getpwent.3:34
80 #: build/C/man3/getpwent_r.3:26 build/C/man3/getpwnam.3:38
81 #: build/C/man3/getspnam.3:11 build/C/man3/initgroups.3:33
82 #: build/C/man3/putgrent.3:7 build/C/man3/putpwent.3:31
83 #: build/C/man3/setaliasent.3:10
89 #: build/C/man3/fgetgrent.3:36
92 "B<#include E<lt>stdio.hE<gt>>\n"
93 "B<#include E<lt>sys/types.hE<gt>>\n"
94 "B<#include E<lt>grp.hE<gt>>\n"
96 "B<#include E<lt>stdio.hE<gt>>\n"
97 "B<#include E<lt>sys/types.hE<gt>>\n"
98 "B<#include E<lt>grp.hE<gt>>\n"
101 #: build/C/man3/fgetgrent.3:38
103 msgid "B<struct group *fgetgrent(FILE *>I<stream>B<);>\n"
104 msgstr "B<struct group *fgetgrent(FILE *>I<stream>B<);>\n"
107 #: build/C/man3/fgetgrent.3:43 build/C/man3/fgetpwent.3:46
108 #: build/C/man3/getgrent.3:46 build/C/man3/getgrent_r.3:42
109 #: build/C/man3/getgrnam.3:55 build/C/man3/getgrouplist.3:40
110 #: build/C/man3/getpwent.3:49 build/C/man3/getpwent_r.3:42
111 #: build/C/man3/getpwnam.3:59 build/C/man3/getspnam.3:59
112 #: build/C/man3/initgroups.3:44 build/C/man3/putpwent.3:43
114 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
115 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7) 参照):"
118 #: build/C/man3/fgetgrent.3:47
119 msgid "B<fgetgrent>(): _SVID_SOURCE"
120 msgstr "B<fgetgrent>(): _SVID_SOURCE"
123 #: build/C/man3/fgetgrent.3:47 build/C/man3/fgetpwent.3:50
124 #: build/C/man5/ftpusers.5:20 build/C/man3/getgrent.3:66
125 #: build/C/man3/getgrent_r.3:50 build/C/man3/getgrnam.3:65
126 #: build/C/man3/getgrouplist.3:44 build/C/man3/getpw.3:41
127 #: build/C/man3/getpwent.3:60 build/C/man3/getpwent_r.3:49
128 #: build/C/man3/getpwnam.3:69 build/C/man3/getspnam.3:70
129 #: build/C/man5/group.5:28 build/C/man3/initgroups.3:48
130 #: build/C/man5/passwd.5:32 build/C/man3/putgrent.3:13
131 #: build/C/man3/putpwent.3:47 build/C/man3/setaliasent.3:28
137 #: build/C/man3/fgetgrent.3:61
139 "The B<fgetgrent>() function returns a pointer to a structure containing the "
140 "group information from the file referred to by I<stream>. The first time it "
141 "is called it returns the first entry; thereafter, it returns successive "
142 "entries. The file referred to by I<stream> must have the same format as I</"
143 "etc/group> (see B<group>(5))."
145 "B<fgetgrent>() 関数は、 I<stream> で参照されるファイルから取り出したグループ"
146 "情報 を含む構造体へのポインタを返す。最初に呼び出された時は 最初のエントリを"
147 "返し、それ以降は、次のエントリを返す。 I<stream> で参照されるファイルは、 I</"
148 "etc/group> と同じ形式でなければならない (B<group>(5) 参照)。"
151 #: build/C/man3/fgetgrent.3:63 build/C/man3/getgrent.3:90
152 #: build/C/man3/getgrent_r.3:67 build/C/man3/getgrnam.3:84
153 msgid "The I<group> structure is defined in I<E<lt>grp.hE<gt>> as follows:"
154 msgstr "I<group> 構造体は I<E<lt>grp.hE<gt>> で以下のように定義されている:"
157 #: build/C/man3/fgetgrent.3:72
161 " char *gr_name; /* group name */\n"
162 " char *gr_passwd; /* group password */\n"
163 " gid_t gr_gid; /* group ID */\n"
164 " char **gr_mem; /* group members */\n"
168 " char *gr_name; /* グループ名 */\n"
169 " char *gr_passwd; /* グループのパスワード */\n"
170 " gid_t gr_gid; /* グループ ID */\n"
171 " char **gr_mem; /* グループのメンバ */\n"
175 #: build/C/man3/fgetgrent.3:74 build/C/man3/fgetpwent.3:79
176 #: build/C/man3/getgrent.3:104 build/C/man3/getgrent_r.3:100
177 #: build/C/man3/getgrnam.3:128 build/C/man3/getgrouplist.3:76
178 #: build/C/man3/getpw.3:70 build/C/man3/getpwent.3:101
179 #: build/C/man3/getpwent_r.3:102 build/C/man3/getpwnam.3:135
180 #: build/C/man3/getspnam.3:212 build/C/man3/initgroups.3:60
181 #: build/C/man3/putgrent.3:35 build/C/man3/putpwent.3:68
182 #: build/C/man3/setaliasent.3:85
188 #: build/C/man3/fgetgrent.3:81
190 "The B<fgetgrent>() function returns a pointer to a I<group> structure, or "
191 "NULL if there are no more entries or an error occurs."
193 "B<fgetgrent>() 関数は I<group> 構造体へのポインタを返す。 これ以上エントリが"
194 "無いか、エラーが発生した場合は NULL を返す。"
197 #: build/C/man3/fgetgrent.3:81 build/C/man3/fgetpwent.3:86
198 #: build/C/man3/getgrent.3:127 build/C/man3/getgrent_r.3:107
199 #: build/C/man3/getgrnam.3:166 build/C/man3/getpw.3:76
200 #: build/C/man3/getpwent.3:123 build/C/man3/getpwent_r.3:109
201 #: build/C/man3/getpwnam.3:173 build/C/man3/getspnam.3:223
202 #: build/C/man3/initgroups.3:67 build/C/man3/putpwent.3:73
208 #: build/C/man3/fgetgrent.3:82 build/C/man3/fgetpwent.3:87
209 #: build/C/man3/getgrent.3:140 build/C/man3/getgrnam.3:188
210 #: build/C/man3/getpw.3:85 build/C/man3/getpwent.3:138
211 #: build/C/man3/getpwnam.3:195 build/C/man3/initgroups.3:68
217 #. to allocate the group structure, or to allocate buffers
219 #: build/C/man3/fgetgrent.3:87 build/C/man3/getgrent.3:146
220 #: build/C/man3/getgrnam.3:195
221 msgid "Insufficient memory to allocate I<group> structure."
222 msgstr "I<group> 構造体を割り当てるためのメモリが不十分。"
225 #: build/C/man3/fgetgrent.3:87 build/C/man3/fgetpwent.3:96
226 #: build/C/man3/getgrent.3:153 build/C/man3/getgrent_r.3:115
227 #: build/C/man3/getgrnam.3:202 build/C/man3/getgrouplist.3:96
228 #: build/C/man3/getpw.3:94 build/C/man3/getpwent.3:152
229 #: build/C/man3/getpwent_r.3:117 build/C/man3/getpwnam.3:209
230 #: build/C/man3/getspnam.3:240 build/C/man3/initgroups.3:80
231 #: build/C/man3/putgrent.3:37 build/C/man3/putpwent.3:77
232 #: build/C/man3/setaliasent.3:97
234 msgid "CONFORMING TO"
238 #: build/C/man3/fgetgrent.3:89 build/C/man3/fgetpwent.3:98
239 #: build/C/man3/putpwent.3:79
244 #: build/C/man3/fgetgrent.3:89 build/C/man3/fgetpwent.3:98
245 #: build/C/man5/ftpusers.5:47 build/C/man3/getgrent.3:155
246 #: build/C/man3/getgrent_r.3:182 build/C/man3/getgrnam.3:225
247 #: build/C/man3/getgrouplist.3:187 build/C/man3/getpw.3:103
248 #: build/C/man3/getpwent.3:157 build/C/man3/getpwent_r.3:179
249 #: build/C/man3/getpwnam.3:305 build/C/man3/getspnam.3:244
250 #: build/C/man5/group.5:60 build/C/man3/initgroups.3:82
251 #: build/C/man5/passwd.5:131 build/C/man3/putgrent.3:39
252 #: build/C/man3/putpwent.3:79 build/C/man3/setaliasent.3:141
258 #: build/C/man3/fgetgrent.3:99
260 "B<endgrent>(3), B<fgetgrent_r>(3), B<fopen>(3), B<getgrent>(3), B<getgrgid>"
261 "(3), B<getgrnam>(3), B<putgrent>(3), B<setgrent>(3), B<group>(5)"
263 "B<endgrent>(3), B<fgetgrent_r>(3), B<fopen>(3), B<getgrent>(3), B<getgrgid>"
264 "(3), B<getgrnam>(3), B<putgrent>(3), B<setgrent>(3), B<group>(5)"
267 #: build/C/man3/fgetgrent.3:99 build/C/man3/fgetpwent.3:109
268 #: build/C/man5/ftpusers.5:51 build/C/man3/getgrent.3:163
269 #: build/C/man3/getgrent_r.3:189 build/C/man3/getgrnam.3:232
270 #: build/C/man3/getgrouplist.3:193 build/C/man3/getpw.3:112
271 #: build/C/man3/getpwent.3:165 build/C/man3/getpwent_r.3:187
272 #: build/C/man3/getpwnam.3:315 build/C/man3/getspnam.3:249
273 #: build/C/man5/group.5:66 build/C/man3/initgroups.3:86
274 #: build/C/man5/passwd.5:139 build/C/man3/putgrent.3:43
275 #: build/C/man3/putpwent.3:87 build/C/man3/setaliasent.3:150
281 #: build/C/man3/fgetgrent.3:106 build/C/man3/fgetpwent.3:116
282 #: build/C/man5/ftpusers.5:58 build/C/man3/getgrent.3:170
283 #: build/C/man3/getgrent_r.3:196 build/C/man3/getgrnam.3:239
284 #: build/C/man3/getgrouplist.3:200 build/C/man3/getpw.3:119
285 #: build/C/man3/getpwent.3:172 build/C/man3/getpwent_r.3:194
286 #: build/C/man3/getpwnam.3:322 build/C/man3/getspnam.3:256
287 #: build/C/man5/group.5:73 build/C/man3/initgroups.3:93
288 #: build/C/man5/passwd.5:146 build/C/man3/putgrent.3:50
289 #: build/C/man3/putpwent.3:94 build/C/man3/setaliasent.3:157
291 "This page is part of release 3.37 of the Linux I<man-pages> project. A "
292 "description of the project, and information about reporting bugs, can be "
293 "found at http://www.kernel.org/doc/man-pages/."
297 #: build/C/man3/fgetpwent.3:31
303 #: build/C/man3/fgetpwent.3:34
304 msgid "fgetpwent - get password file entry"
305 msgstr "fgetpwent - パスワードファイルエントリの取り出し"
308 #: build/C/man3/fgetpwent.3:39 build/C/man3/putpwent.3:36
311 "B<#include E<lt>stdio.hE<gt>>\n"
312 "B<#include E<lt>sys/types.hE<gt>>\n"
313 "B<#include E<lt>pwd.hE<gt>>\n"
315 "B<#include E<lt>stdio.hE<gt>>\n"
316 "B<#include E<lt>sys/types.hE<gt>>\n"
317 "B<#include E<lt>pwd.hE<gt>>\n"
320 #: build/C/man3/fgetpwent.3:41
322 msgid "B<struct passwd *fgetpwent(FILE *>I<stream>B<);>\n"
323 msgstr "B<struct passwd *fgetpwent(FILE *>I<stream>B<);>\n"
326 #: build/C/man3/fgetpwent.3:50
327 msgid "B<fgetpwent>(): _SVID_SOURCE"
328 msgstr "B<fgetpwent>(): _SVID_SOURCE"
331 #: build/C/man3/fgetpwent.3:63
333 "The B<fgetpwent>() function returns a pointer to a structure containing the "
334 "broken out fields of a line in the file I<stream>. The first time it is "
335 "called it returns the first entry; thereafter, it returns successive "
336 "entries. The file referred to by I<stream> must have the same format as I</"
337 "etc/passwd> (see B<passwd>(5))."
339 "B<fgetpwent>() 関数は、I<stream> から得られた行を分解したフィールド を含む構"
340 "造体へのポインタを返す。 最初に呼び出された時には最初のエントリを返し、それ以"
341 "降は 次のエントリを返す。 I<stream> で参照されるファイルは I</etc/passwd> と"
342 "同じ形式でなければならない (B<passwd>(5) 参照)。"
345 #: build/C/man3/fgetpwent.3:65 build/C/man3/getpw.3:53
346 #: build/C/man3/getpwent.3:84 build/C/man3/getpwent_r.3:66
347 #: build/C/man3/getpwnam.3:88 build/C/man3/putpwent.3:54
348 msgid "The I<passwd> structure is defined in I<E<lt>pwd.hE<gt>> as follows:"
349 msgstr "I<passwd> 構造体は、I<E<lt>pwd.hE<gt>> で以下のように定義されている:"
352 #: build/C/man3/fgetpwent.3:77
356 " char *pw_name; /* username */\n"
357 " char *pw_passwd; /* user password */\n"
358 " uid_t pw_uid; /* user ID */\n"
359 " gid_t pw_gid; /* group ID */\n"
360 " char *pw_gecos; /* real name */\n"
361 " char *pw_dir; /* home directory */\n"
362 " char *pw_shell; /* shell program */\n"
366 " char *pw_name; /* ユーザ名 */\n"
367 " char *pw_passwd; /* ユーザのパスワード */\n"
368 " uid_t pw_uid; /* ユーザ ID */\n"
369 " gid_t pw_gid; /* グループ ID */\n"
370 " char *pw_gecos; /* 実名 */\n"
371 " char *pw_dir; /* ホームディレクトリ */\n"
372 " char *pw_shell; /* シェルプログラム */\n"
376 #: build/C/man3/fgetpwent.3:86
378 "The B<fgetpwent>() function returns a pointer to a I<passwd> structure, or "
379 "NULL if there are no more entries or an error occurs."
381 "B<fgetpwent>() 関数は、 I<passwd> 構造体へのポインタを返す。 これ以上エント"
382 "リが無いか、エラーが発生した場合は NULL を返す。"
385 #. This structure is static, allocated 0 or 1 times. No memory leak. (libc45)
387 #: build/C/man3/fgetpwent.3:92 build/C/man3/getpw.3:90
388 #: build/C/man3/getpwent.3:145 build/C/man3/getpwnam.3:202
389 msgid "Insufficient memory to allocate I<passwd> structure."
390 msgstr "I<passwd> 構造体に割り当てるメモリが十分なかった。"
393 #: build/C/man3/fgetpwent.3:92 build/C/man5/ftpusers.5:45
394 #: build/C/man3/getgrent.3:149 build/C/man3/getgrnam.3:198
395 #: build/C/man3/getpw.3:90 build/C/man3/getpwent.3:148
396 #: build/C/man3/getpwnam.3:205 build/C/man3/getspnam.3:227
397 #: build/C/man5/group.5:52 build/C/man3/initgroups.3:76
398 #: build/C/man5/passwd.5:111 build/C/man3/setaliasent.3:91
404 #: build/C/man3/fgetpwent.3:93 build/C/man3/getpw.3:91
405 #: build/C/man3/getpwent.3:149 build/C/man3/getpwnam.3:206
406 #: build/C/man5/passwd.5:113
408 msgid "I</etc/passwd>"
409 msgstr "I</etc/passwd>"
412 #: build/C/man3/fgetpwent.3:96 build/C/man3/getpw.3:94
413 msgid "password database file"
414 msgstr "パスワードデータベースファイル"
417 #: build/C/man3/fgetpwent.3:109
419 "B<endpwent>(3), B<fgetpwent_r>(3), B<fopen>(3), B<getpw>(3), B<getpwent>(3), "
420 "B<getpwnam>(3), B<getpwuid>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
422 "B<endpwent>(3), B<fgetpwent_r>(3), B<fopen>(3), B<getpw>(3), B<getpwent>(3), "
423 "B<getpwnam>(3), B<getpwuid>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
426 #: build/C/man5/ftpusers.5:17
432 #: build/C/man5/ftpusers.5:17
438 #: build/C/man5/ftpusers.5:17 build/C/man5/group.5:25 build/C/man5/passwd.5:29
444 #: build/C/man5/ftpusers.5:20
445 msgid "ftpusers - list of users that may not log in via the FTP daemon"
446 msgstr "ftpusers - FTP デーモン経由でのログインを許さないユーザーのリスト"
449 #: build/C/man5/ftpusers.5:39
451 "The text file B<ftpusers> contains a list of users that may not log in using "
452 "the File Transfer Protocol (FTP) server daemon. This file is used not "
453 "merely for system administration purposes but for improving security within "
454 "a TCP/IP networked environment. It will typically contain a list of the "
455 "users that either have no business using ftp or have too many privileges to "
456 "be allowed to log in through the FTP server daemon. Such users usually "
457 "include root, daemon, bin, uucp, and news. If your FTP server daemon "
458 "doesn't use B<ftpusers> then it is suggested that you read its documentation "
459 "to find out how to block access for certain users. Washington University "
460 "FTP server Daemon (wuftpd) and Professional FTP Daemon (proftpd) are known "
461 "to make use of B<ftpusers>."
463 "B<ftpusers> はテキストファイルで、File Transfer Protocol (FTP) サーバーデーモ"
464 "ン を利用してのログインを許さないユーザーをリストしたものである。 このファイ"
465 "ルは単にシステム管理のためだけでなく、 TCP/IP ネットワーク環境でのセキュリ"
466 "ティを向上させるのにも利用できる。 通常は、ftp を用いた作業を行わないユーザー"
467 "や、 FTP サーバーデーモン経由でのログインを許すには 権限が大きすぎるユーザー"
468 "をリストしておく。 このようなユーザーには、例えば root, daemon, bin, uucp, "
469 "news などが含まれる。 お使いの FTP サーバーデーモンが B<ftpusers> を用いない"
470 "場合は、そのデーモンのドキュメントを読んで、 特定のユーザーのアクセスをブロッ"
471 "クするやり方を学んでおくことをすすめる。 Washington University FTP サーバー"
472 "デーモン (wuftpd) と Professional FTP デーモン (proftpd) とは、 B<ftpusers> "
476 #: build/C/man5/ftpusers.5:39
482 #: build/C/man5/ftpusers.5:45
484 "The format of B<ftpusers> is very simple. There is one account name (or "
485 "username) per line. Lines starting with a # are ignored."
487 "B<ftpusers> のフォーマットは非常に単純であり、 アカウント名 (またはユーザー"
488 "名) を各行に書くだけである。 # で始まる行は無視される。"
491 #: build/C/man5/ftpusers.5:47
492 msgid "I</etc/ftpusers>"
493 msgstr "I</etc/ftpusers>"
496 #: build/C/man5/ftpusers.5:51
497 msgid "B<passwd>(5), B<proftpd>(8), B<wuftpd>(8)"
498 msgstr "B<passwd>(5), B<proftpd>(8), B<wuftpd>(8)"
501 #: build/C/man3/getgrent.3:28
507 #: build/C/man3/getgrent.3:28 build/C/man3/getgrent_r.3:23
508 #: build/C/man3/getgrnam.3:31 build/C/man3/getpw.3:30
509 #: build/C/man3/getpwent.3:31 build/C/man3/getpwent_r.3:23
510 #: build/C/man3/getpwnam.3:35 build/C/man5/group.5:25
516 #: build/C/man3/getgrent.3:31
517 msgid "getgrent, setgrent, endgrent - get group file entry"
518 msgstr "getgrent, setgrent, endgrent - グループファイルエントリの取得"
521 #: build/C/man3/getgrent.3:35 build/C/man3/getgrnam.3:38
522 #: build/C/man3/initgroups.3:37
525 "B<#include E<lt>sys/types.hE<gt>>\n"
526 "B<#include E<lt>grp.hE<gt>>\n"
528 "B<#include E<lt>sys/types.hE<gt>>\n"
529 "B<#include E<lt>grp.hE<gt>>\n"
532 #: build/C/man3/getgrent.3:37
534 msgid "B<struct group *getgrent(void);>\n"
535 msgstr "B<struct group *getgrent(void);>\n"
538 #: build/C/man3/getgrent.3:39
540 msgid "B<void setgrent(void);>\n"
541 msgstr "B<void setgrent(void);>\n"
544 #: build/C/man3/getgrent.3:41
546 msgid "B<void endgrent(void);>\n"
547 msgstr "B<void endgrent(void);>\n"
550 #: build/C/man3/getgrent.3:51
551 msgid "B<setgrent>():"
552 msgstr "B<setgrent>():"
555 #: build/C/man3/getgrent.3:54
557 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
558 "\\ &&\\ _XOPEN_SOURCE_EXTENDED ||"
560 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
561 "\\ &&\\ _XOPEN_SOURCE_EXTENDED ||"
564 #: build/C/man3/getgrent.3:56
565 msgid "/* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
566 msgstr "/* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
569 #: build/C/man3/getgrent.3:60
570 msgid "B<getgrent>(), B<endgrent>():"
571 msgstr "B<getgrent>(), B<endgrent>():"
574 #: build/C/man3/getgrent.3:63
576 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
577 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
579 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
580 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
583 #: build/C/man3/getgrent.3:78
585 "The B<getgrent>() function returns a pointer to a structure containing the "
586 "broken-out fields of a record in the group database (e.g., the local group "
587 "file I</etc/group>, NIS, and LDAP). The first time B<getgrent>() is "
588 "called, it returns the first entry; thereafter, it returns successive "
591 "B<getgrent>() 関数は、グループ・データベースから取得したエントリを 要素毎に"
592 "分解し、各要素を格納した構造体へのポインタを返す (グループ・データベースの"
593 "例: ローカルのグループファイル I</etc/group>, NIS, LDAP)。 B<getgrent>() "
594 "は、最初に呼び出された時は最初のエントリを返し、 それ以降は呼び出される毎に次"
598 #: build/C/man3/getgrent.3:83
600 "The B<setgrent>() function rewinds to the beginning of the group database, "
601 "to allow repeated scans."
603 "B<setgrent>() 関数を使うと、もう一度読み込めるように、 グループ・データベー"
607 #: build/C/man3/getgrent.3:88
609 "The B<endgrent>() function is used to close the group database after all "
610 "processing has been performed."
612 "B<endgrent>() 関数は、全ての処理が終わった後にグループ・ データベースをク"
616 #: build/C/man3/getgrent.3:99 build/C/man3/getgrnam.3:93
620 " char *gr_name; /* group name */\n"
621 " char *gr_passwd; /* group password */\n"
622 " gid_t gr_gid; /* group ID */\n"
623 " char **gr_mem; /* group members */\n"
627 " char *gr_name; /* グループ名 */\n"
628 " char *gr_passwd; /* グループのパスワード */\n"
629 " gid_t gr_gid; /* グループ ID */\n"
630 " char **gr_mem; /* グループのメンバ */\n"
634 #: build/C/man3/getgrent.3:104 build/C/man3/getgrent_r.3:81
635 #: build/C/man3/getgrnam.3:98
637 "For more information about the fields of this structure, see B<group>(5)."
638 msgstr "この構造体のフィールドの詳細は B<group>(5) を参照のこと。"
641 #: build/C/man3/getgrent.3:111
643 "The B<getgrent>() function returns a pointer to a I<group> structure, or "
644 "NULL if there are no more entries or an error occurs."
646 "B<getgrent>() 関数は I<group> 構造体へのポインタを返す。 これ以上エントリが"
647 "無いか、エラーが発生した場合は NULL を返す。"
650 #: build/C/man3/getgrent.3:118
652 "Upon error, I<errno> may be set. If one wants to check I<errno> after the "
653 "call, it should be set to zero before the call."
655 "エラーが発生すると、 I<errno> が適切に設定される。 この関数の呼び出し後に "
656 "I<errno> をチェックしたい場合は、呼び出し前に I<errno> を 0 に設定しておかな"
660 #: build/C/man3/getgrent.3:127
662 "The return value may point to a static area, and may be overwritten by "
663 "subsequent calls to B<getgrent>(), B<getgrgid>(3), or B<getgrnam>(3). (Do "
664 "not pass the returned pointer to B<free>(3).)"
666 "返り値は静的な領域を指しており、その後の B<getgrent>(), B<getgrgid>(3), "
667 "B<getgrnam>(3) の呼び出しで上書きされるかもしれない。 (返されたポインタを "
668 "B<free>(3) に渡さないこと。)"
671 #: build/C/man3/getgrent.3:128 build/C/man3/getgrnam.3:174
672 #: build/C/man3/getpwent.3:124 build/C/man3/getpwnam.3:181
678 #: build/C/man3/getgrent.3:131 build/C/man3/getgrnam.3:177
679 #: build/C/man3/getpwent.3:127 build/C/man3/getpwnam.3:184
680 msgid "A signal was caught."
684 #: build/C/man3/getgrent.3:131 build/C/man3/getgrnam.3:177
685 #: build/C/man3/getpwent.3:127 build/C/man3/getpwnam.3:184
691 #: build/C/man3/getgrent.3:134 build/C/man3/getgrnam.3:180
692 #: build/C/man3/getpwent.3:130 build/C/man3/getpwnam.3:187
697 #: build/C/man3/getgrent.3:134 build/C/man3/getgrnam.3:180
698 #: build/C/man3/getpwent.3:130 build/C/man3/getpwnam.3:187
704 #: build/C/man3/getgrent.3:137
705 msgid "The calling process already has too many open files."
706 msgstr "呼び出したプロセスが既にファイルをオープンし過ぎている。"
709 #: build/C/man3/getgrent.3:137 build/C/man3/getgrnam.3:185
710 #: build/C/man3/getpwent.3:135 build/C/man3/getpwnam.3:192
716 #: build/C/man3/getgrent.3:140
717 msgid "Too many open files in the system."
718 msgstr "システム上にオープンされたファイルが多過ぎる。"
721 #: build/C/man3/getgrent.3:146 build/C/man3/getgrent_r.3:111
722 #: build/C/man3/getgrnam.3:195 build/C/man3/getpwent.3:145
723 #: build/C/man3/getpwent_r.3:113 build/C/man3/getpwnam.3:202
724 #: build/C/man3/getspnam.3:224
730 #: build/C/man3/getgrent.3:149 build/C/man3/getgrnam.3:198
731 #: build/C/man3/getpwent.3:148 build/C/man3/getpwnam.3:205
732 msgid "Insufficient buffer space supplied."
733 msgstr "与えられたバッファ空間が不十分である。"
736 #: build/C/man3/getgrent.3:150 build/C/man3/getgrnam.3:199
738 msgid "I</etc/group>"
739 msgstr "I</etc/group>"
742 #: build/C/man3/getgrent.3:153 build/C/man3/getgrnam.3:202
743 msgid "local group database file"
744 msgstr "ローカルのグループ・データベースファイル"
747 #: build/C/man3/getgrent.3:155 build/C/man3/getgrnam.3:204
748 msgid "SVr4, 4.3BSD, POSIX.1-2001."
749 msgstr "SVr4, 4.3BSD, POSIX.1-2001."
752 #: build/C/man3/getgrent.3:163
754 "B<fgetgrent>(3), B<getgrent_r>(3), B<getgrgid>(3), B<getgrnam>(3), "
755 "B<getgrouplist>(3), B<putgrent>(3), B<group>(5)"
757 "B<fgetgrent>(3), B<getgrent_r>(3), B<getgrgid>(3), B<getgrnam>(3) "
758 "B<getgrouplist>(3), B<putgrent>(3), B<group>(5)"
761 #: build/C/man3/getgrent_r.3:23
767 #: build/C/man3/getgrent_r.3:26
768 msgid "getgrent_r, fgetgrent_r - get group file entry reentrantly"
770 "getgrent_r, fgetgrent_r - グループファイルエントリをリエントラント "
774 #: build/C/man3/getgrent_r.3:29
776 msgid "B<#include E<lt>grp.hE<gt>>\n"
777 msgstr "B<#include E<lt>grp.hE<gt>>\n"
780 #: build/C/man3/getgrent_r.3:31
782 msgid "B<int getgrent_r(struct group *>I<gbuf>B<, char *>I<buf>B<,>\n"
783 msgstr "B<int getgrent_r(struct group *>I<gbuf>B<, char *>I<buf>B<,>\n"
786 #: build/C/man3/getgrent_r.3:33
788 msgid "B< size_t >I<buflen>B<, struct group **>I<gbufp>B<);>\n"
789 msgstr "B< size_t >I<buflen>B<, struct group **>I<gbufp>B<);>\n"
792 #: build/C/man3/getgrent_r.3:35
794 msgid "B<int fgetgrent_r(FILE *>I<fp>B<, struct group *>I<gbuf>B<, char *>I<buf>B<,>\n"
795 msgstr "B<int fgetgrent_r(FILE *>I<fp>B<, struct group *>I<gbuf>B<, char *>I<buf>B<,>\n"
798 #: build/C/man3/getgrent_r.3:37
800 msgid "B< size_t >I<buflen>B<, struct group **>I<gbufp>B<);>\n"
801 msgstr "B< size_t >I<buflen>B<, struct group **>I<gbufp>B<);>\n"
803 #. FIXME . The FTM requirements seem inconsistent here. File a glibc bug?
805 #: build/C/man3/getgrent_r.3:47
806 msgid "B<getgrent_r>(): _GNU_SOURCE"
807 msgstr "B<getgrent_r>(): _GNU_SOURCE"
810 #: build/C/man3/getgrent_r.3:50
811 msgid "B<fgetgrent_r>(): _SVID_SOURCE"
812 msgstr "B<fgetgrent_r>(): _SVID_SOURCE"
815 #: build/C/man3/getgrent_r.3:63
817 "The functions B<getgrent_r>() and B<fgetgrent_r>() are the reentrant "
818 "versions of B<getgrent>(3) and B<fgetgrent>(3). The former reads the next "
819 "group entry from the stream initialized by B<setgrent>(3). The latter reads "
820 "the next group entry from the stream I<fp>."
822 "関数 B<getgrent_r>() と B<fgetgrent_r>() は B<getgrent>(3) と B<fgetgrent>"
823 "(3) のリエントラント版である。 前者は、 B<setgrent>(3) によって初期化された"
824 "ストリームから、次のグループファイルのエントリを読み込む。 後者は、ストリー"
825 "ム I<fp> から次のグループファイルのエントリを読み込む。"
828 #: build/C/man3/getgrent_r.3:76
832 " char *gr_name; /* group name */\n"
833 " char *gr_passwd; /* group password */\n"
834 " gid_t gr_gid; /* group ID */\n"
835 " char **gr_mem; /* group members */\n"
839 " char *gr_name; /* グループ名 */\n"
840 " char *gr_passwd; /* グループパスワード */\n"
841 " gid_t gr_gid; /* グループ ID */\n"
842 " char **gr_mem; /* グループメンバ */\n"
846 #: build/C/man3/getgrent_r.3:100
848 "The nonreentrant functions return a pointer to static storage, where this "
849 "static storage contains further pointers to group name, password and "
850 "members. The reentrant functions described here return all of that in "
851 "caller-provided buffers. First of all there is the buffer I<gbuf> that can "
852 "hold a I<struct group>. And next the buffer I<buf> of size I<buflen> that "
853 "can hold additional strings. The result of these functions, the I<struct "
854 "group> read from the stream, is stored in the provided buffer I<*gbuf>, and "
855 "a pointer to this I<struct group> is returned in I<*gbufp>."
857 "リエントラントでない関数は静的な格納領域へのポインタを返す。 この静的な格納領"
858 "域には、更にグループ名・パスワード・ メンバへのポインタが含まれる。 ここで説"
859 "明されているリエントラントな関数は、 呼び出し側から提供されるバッファにグルー"
860 "プ名など全てを返す。 最初の引き数として I<struct group> を保持できるバッファ "
861 "I<gbuf> がある。 次にその他の文字列を保持できるサイズ I<buflen> のバッファ "
862 "I<buf> がある。 これらの関数の結果 (ストリームから読み込まれた I<struct "
863 "group>) は、 提供されたバッファ I<*gbuf> に格納され、この I<struct group> へ"
864 "のポインタは I<*gbufp> に返される。"
867 #: build/C/man3/getgrent_r.3:107
869 "On success, these functions return 0 and I<*gbufp> is a pointer to the "
870 "I<struct group>. On error, these functions return an error value and "
873 "成功した場合、これらの関数は 0 を返し、 *I<gbufp> は I<struct group> へのポイ"
874 "ンタとなる。 エラーの場合、これらの関数はエラー値を返し、 *I<gbufp> は NULL "
878 #: build/C/man3/getgrent_r.3:108 build/C/man3/getpw.3:81
879 #: build/C/man3/getpwent_r.3:110
885 #: build/C/man3/getgrent_r.3:111 build/C/man3/getpwent_r.3:113
886 msgid "No more entries."
890 #: build/C/man3/getgrent_r.3:115 build/C/man3/getpwent_r.3:117
891 msgid "Insufficient buffer space supplied. Try again with larger buffer."
893 "十分なバッファ空間が与えられていない。 もっと大きなバッファで再度実行するこ"
897 #: build/C/man3/getgrent_r.3:120 build/C/man3/getpwent_r.3:122
899 "These functions are GNU extensions, done in a style resembling the POSIX "
900 "version of functions like B<getpwnam_r>(3). Other systems use prototype"
902 "これらの関数は GNU 拡張であり、POSIX 版の関数 B<getpwnam_r>(3) の形式に似せ"
903 "てある。 他のシステムでは以下のプロトタイプが使われている。"
906 #: build/C/man3/getgrent_r.3:125
909 "struct group *getgrent_r(struct group *grp, char *buf,\n"
912 "struct group *getgrent_r(struct group *grp, char *buf,\n"
916 #: build/C/man3/getgrent_r.3:129 build/C/man3/getpwent_r.3:131
918 msgstr "より良いものでは、以下のようになっている。"
921 #: build/C/man3/getgrent_r.3:134
924 "int getgrent_r(struct group *grp, char *buf, int buflen,\n"
927 "int getgrent_r(struct group *grp, char *buf, int buflen,\n"
931 #: build/C/man3/getgrent_r.3:136 build/C/man3/getgrnam.3:204
932 #: build/C/man3/getpwent_r.3:139 build/C/man3/getpwnam.3:214
933 #: build/C/man5/passwd.5:113
939 #: build/C/man3/getgrent_r.3:141
941 "The function B<getgrent_r>() is not really reentrant since it shares the "
942 "reading position in the stream with all other threads."
944 "関数 B<getgrent_r>() は本当のリエントラントではない。 なぜなら、ストリームの"
945 "読み込み位置を 他の全てのスレッドと共有しているためである。"
948 #: build/C/man3/getgrent_r.3:141 build/C/man3/getgrouplist.3:107
949 #: build/C/man3/getpwent_r.3:144 build/C/man3/getpwnam.3:253
950 #: build/C/man3/setaliasent.3:111
956 #: build/C/man3/getgrent_r.3:148
959 "#define _GNU_SOURCE\n"
960 "#include E<lt>grp.hE<gt>\n"
961 "#include E<lt>stdio.hE<gt>\n"
962 "#include E<lt>stdlib.hE<gt>\n"
963 "#define BUFLEN 4096\n"
965 "#define _GNU_SOURCE\n"
966 "#include E<lt>grp.hE<gt>\n"
967 "#include E<lt>stdio.hE<gt>\n"
968 "#include E<lt>stdlib.hE<gt>\n"
969 "#define BUFLEN 4096\n"
972 #: build/C/man3/getgrent_r.3:155
978 " struct group grp, *grpp;\n"
979 " char buf[BUFLEN];\n"
985 " struct group grp, *grpp;\n"
986 " char buf[BUFLEN];\n"
990 #: build/C/man3/getgrent_r.3:172
995 " i = getgrent_r(&grp, buf, BUFLEN, &grpp);\n"
998 " printf(\"%s (%d):\", grpp-E<gt>gr_name, grpp-E<gt>gr_gid);\n"
999 " for (i = 0; ; i++) {\n"
1000 " if (grpp-E<gt>gr_mem[i] == NULL)\n"
1002 " printf(\" %s\", grpp-E<gt>gr_mem[i]);\n"
1004 " printf(\"\\en\");\n"
1007 " exit(EXIT_SUCCESS);\n"
1012 " i = getgrent_r(&grp, buf, BUFLEN, &grpp);\n"
1015 " printf(\"%s (%d):\", grpp-E<gt>gr_name, grpp-E<gt>gr_gid);\n"
1016 " for (i = 0; ; i++) {\n"
1017 " if (grpp-E<gt>gr_mem[i] == NULL)\n"
1019 " printf(\" %s\", grpp-E<gt>gr_mem[i]);\n"
1021 " printf(\"\\en\");\n"
1024 " exit(EXIT_SUCCESS);\n"
1028 #: build/C/man3/getgrent_r.3:189
1030 "B<fgetgrent>(3), B<getgrent>(3), B<getgrgid>(3), B<getgrnam>(3), B<putgrent>"
1033 "B<fgetgrent>(3), B<getgrent>(3), B<getgrgid>(3), B<getgrnam>(3), B<putgrent>"
1037 #: build/C/man3/getgrnam.3:31
1043 #: build/C/man3/getgrnam.3:34
1044 msgid "getgrnam, getgrnam_r, getgrgid, getgrgid_r - get group file entry"
1046 "getgrnam, getgrnam_r, getgrgid, getgrgid_r - グループファイルエントリの取り出"
1050 #: build/C/man3/getgrnam.3:40
1052 msgid "B<struct group *getgrnam(const char *>I<name>B<);>\n"
1053 msgstr "B<struct group *getgrnam(const char *>I<name>B<);>\n"
1056 #: build/C/man3/getgrnam.3:42
1058 msgid "B<struct group *getgrgid(gid_t >I<gid>B<);>\n"
1059 msgstr "B<struct group *getgrgid(gid_t >I<gid>B<);>\n"
1062 #: build/C/man3/getgrnam.3:44
1064 msgid "B<int getgrnam_r(const char *>I<name>B<, struct group *>I<grp>B<,>\n"
1065 msgstr "B<int getgrnam_r(const char *>I<name>B<, struct group *>I<grp>B<,>\n"
1068 #: build/C/man3/getgrnam.3:46 build/C/man3/getgrnam.3:50
1070 msgid "B< char *>I<buf>B<, size_t >I<buflen>B<, struct group **>I<result>B<);>\n"
1071 msgstr "B< char *>I<buf>B<, size_t >I<buflen>B<, struct group **>I<result>B<);>\n"
1074 #: build/C/man3/getgrnam.3:48
1076 msgid "B<int getgrgid_r(gid_t >I<gid>B<, struct group *>I<grp>B<,>\n"
1077 msgstr "B<int getgrgid_r(gid_t >I<gid>B<, struct group *>I<grp>B<,>\n"
1080 #: build/C/man3/getgrnam.3:60
1081 msgid "B<getgrnam_r>(), B<getgrgid_r>():"
1082 msgstr "B<getgrnam_r>(), B<getgrgid_r>():"
1085 #: build/C/man3/getgrnam.3:63 build/C/man3/getpwnam.3:67
1087 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
1090 "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE "
1094 #: build/C/man3/getgrnam.3:75
1096 "The B<getgrnam>() function returns a pointer to a structure containing the "
1097 "broken-out fields of the record in the group database (e.g., the local group "
1098 "file I</etc/group>, NIS, and LDAP) that matches the group name I<name>."
1100 "B<getgrnam>() 関数は、グループ名 I<name> にマッチするグループ・データベース"
1101 "のエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返す (パス"
1102 "ワード・データベースの例: ローカルのグループファイル I</etc/group>, NIS, "
1106 #: build/C/man3/getgrnam.3:82
1108 "The B<getgrgid>() function returns a pointer to a structure containing the "
1109 "broken-out fields of the record in the group database that matches the group "
1112 "B<getgrgid>() 関数は、グループ ID I<uid> にマッチするグループ・データベース"
1113 "のエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返す。"
1116 #: build/C/man3/getgrnam.3:121
1119 #| "The B<getgrnam_r>() and B<getgrgid_r>() functions obtain the same "
1120 #| "information, but store the retrieved I<group> structure in the space "
1121 #| "pointed to by I<grp>. This I<group> structure contains pointers to "
1122 #| "strings, and these strings are stored in the buffer I<buf> of size "
1123 #| "I<buflen>. A pointer to the result (in case of success) or NULL (in case "
1124 #| "no entry was found or an error occurred) is stored in I<*result>."
1126 "The B<getgrnam_r>() and B<getgrgid_r>() functions obtain the same "
1127 "information as B<getgrnam>() and B<getgrgid>(), but store the retrieved "
1128 "I<group> structure in the space pointed to by I<grp>. The string fields "
1129 "pointed to by the members of the I<group> structure are stored in the buffer "
1130 "I<buf> of size I<buflen>. A pointer to the result (in case of success) or "
1131 "NULL (in case no entry was found or an error occurred) is stored in "
1134 "B<getgrnam_r>() と B<getgrgid_r>() 関数は (上記の関数と) 同じ情報を取得する"
1135 "が、 取得した I<group> 構造体を I<grp> が指す領域に格納する。 この I<group> "
1136 "構造体には文字列へのポインタが含まれ、 これらの文字列はサイズ I<buflen> の"
1137 "バッファ I<buf> に格納される。 成功した場合 I<*gbufp> には結果へのポインタが"
1138 "格納される。 エントリが見つからなかった場合やエラーが発生した場合には "
1139 "I<*result> には NULL が入る。"
1142 #: build/C/man3/getgrnam.3:128
1144 "The maximum needed size for I<buf> can be found using B<sysconf>(3) with "
1145 "the argument B<_SC_GETGR_R_SIZE_MAX>."
1147 "I<buf> に最大必要なサイズは、 B<sysconf>(3) に引き数 "
1148 "B<_SC_GETGR_R_SIZE_MAX> を指定して実行することで分かる。"
1151 #: build/C/man3/getgrnam.3:143
1153 "The B<getgrnam>() and B<getgrgid>() functions return a pointer to a "
1154 "I<group> structure, or NULL if the matching entry is not found or an error "
1155 "occurs. If an error occurs, I<errno> is set appropriately. If one wants to "
1156 "check I<errno> after the call, it should be set to zero before the call."
1158 "B<getgrnam>() と B<getgrgid>() 関数は、 I<group> 構造体へのポインタを返"
1159 "す。 マッチするエントリが見つからなかった場合や、 エラーが発生した場合は "
1160 "NULL を返す。 エラーが起こった場合、 I<errno> が適切に設定される。 呼び出しの"
1161 "後で I<errno> をチェックしたい場合は、 呼び出しの前に (この値を) 0 に設定して"
1165 #: build/C/man3/getgrnam.3:152
1167 "The return value may point to a static area, and may be overwritten by "
1168 "subsequent calls to B<getgrent>(3), B<getgrgid>(), or B<getgrnam>(). (Do "
1169 "not pass the returned pointer to B<free>(3).)"
1171 "返り値は静的な領域を指しており、その後の B<getgrent>(3), B<getgrgid>(), "
1172 "B<getgrnam>() の呼び出しで上書きされるかもしれない。 (返されたポインタを "
1173 "B<free>(3) に渡さないこと。)"
1176 #: build/C/man3/getgrnam.3:166
1178 "On success, B<getgrnam_r>() and B<getgrgid_r>() return zero, and set "
1179 "I<*result> to I<grp>. If no matching group record was found, these "
1180 "functions return 0 and store NULL in I<*result>. In case of error, an error "
1181 "number is returned, and NULL is stored in I<*result>."
1183 "成功すると、 B<getgrnam_r>() と B<getgrgid_r>() は 0 を返し、 I<*result> "
1184 "に I<grp> を設定する。 マッチするグループ・エントリが見つからなかった場合に"
1185 "は、 0 を返し、 I<*result> に NULL を設定する。 エラーの場合、エラー番号を返"
1186 "し、 I<*result> に NULL を設定する。"
1189 #: build/C/man3/getgrnam.3:167 build/C/man3/getpwnam.3:174
1191 msgid "B<0> or B<ENOENT> or B<ESRCH> or B<EBADF> or B<EPERM> or ... "
1192 msgstr "B<0> または B<ENOENT> または B<ESRCH> または B<EBADF> または B<EPERM> または ... "
1195 #: build/C/man3/getgrnam.3:174
1196 msgid "The given I<name> or I<gid> was not found."
1197 msgstr "指定された I<name> または I<gid> が見つからなかった。"
1200 #: build/C/man3/getgrnam.3:185 build/C/man3/getpwent.3:135
1201 #: build/C/man3/getpwnam.3:192
1203 "The maximum number (B<OPEN_MAX>) of files was open already in the calling "
1206 "呼び出し元プロセスがオープンしているファイル数が すでに上限 (B<OPEN_MAX>) で"
1210 #: build/C/man3/getgrnam.3:188 build/C/man3/getpwent.3:138
1211 #: build/C/man3/getpwnam.3:195
1212 msgid "The maximum number of files was open already in the system."
1213 msgstr "システムでオープンされているファイル数がすでに上限であった。"
1216 #. AIX 5.1 - gives ESRCH
1217 #. OSF1 4.0g - gives EWOULDBLOCK
1218 #. libc, glibc up to version 2.6, Irix 6.5 - give ENOENT
1219 #. glibc since version 2.7 - give 0
1220 #. FreeBSD 4.8, OpenBSD 3.2, NetBSD 1.6 - give EPERM
1221 #. SunOS 5.8 - gives EBADF
1222 #. Tru64 5.1b, HP-UX-11i, SunOS 5.7 - give 0
1224 #: build/C/man3/getgrnam.3:225
1226 "The formulation given above under \"RETURN VALUE\" is from POSIX.1-2001. It "
1227 "does not call \"not found\" an error, hence does not specify what value "
1228 "I<errno> might have in this situation. But that makes it impossible to "
1229 "recognize errors. One might argue that according to POSIX I<errno> should "
1230 "be left unchanged if an entry is not found. Experiments on various UNIX-"
1231 "like systems shows that lots of different values occur in this situation: 0, "
1232 "ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM and probably others."
1234 "上記の「返り値」以下の記述は POSIX.1-2001 に拠る。 この標準は「(エントリが) "
1235 "見つからないこと」をエラーとしていないので、 そのような場合に I<errno> がどの"
1236 "ような値になるかを定めていない。 そのため、エラーを認識することは不可能であ"
1237 "る。 POSIX に準拠して、エントリが見つからない場合は I<errno> を変更しないよう"
1238 "にすべきである、と主張する人もいるかもしれない。 様々な UNIX 系のシステムで試"
1239 "してみると、そのような場合には 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM と"
1240 "いった様々な値が返される。 他の値が返されるかもしれない。"
1243 #: build/C/man3/getgrnam.3:232
1245 "B<endgrent>(3), B<fgetgrent>(3), B<getgrent>(3), B<getpwnam>(3), B<setgrent>"
1248 "B<endgrent>(3), B<fgetgrent>(3), B<getgrent>(3), B<getpwnam>(3), B<setgrent>"
1252 #: build/C/man3/getgrouplist.3:27
1254 msgid "GETGROUPLIST"
1255 msgstr "GETGROUPLIST"
1258 #: build/C/man3/getgrouplist.3:27
1264 #: build/C/man3/getgrouplist.3:30
1265 msgid "getgrouplist - get list of groups to which a user belongs"
1266 msgstr "getgrouplist - ユーザが所属するグループのリストを取得する"
1269 #: build/C/man3/getgrouplist.3:32 build/C/man3/putgrent.3:11
1270 msgid "B<#include E<lt>grp.hE<gt>>"
1271 msgstr "B<#include E<lt>grp.hE<gt>>"
1274 #: build/C/man3/getgrouplist.3:34
1275 msgid "B<int getgrouplist(const char *>I<user>B<, gid_t >I<group>B<,>"
1276 msgstr "B<int getgrouplist(const char *>I<user>B<, gid_t >I<group>B<,>"
1279 #: build/C/man3/getgrouplist.3:36
1280 msgid "B< gid_t *>I<groups>B<, int *>I<ngroups>B<);>"
1281 msgstr "B< gid_t *>I<groups>B<, int *>I<ngroups>B<);>"
1284 #: build/C/man3/getgrouplist.3:44
1285 msgid "B<getgrouplist>(): _BSD_SOURCE"
1286 msgstr "B<getgrouplist>(): _BSD_SOURCE"
1289 #: build/C/man3/getgrouplist.3:56
1291 "The B<getgrouplist>() function scans the group database (see B<group>(5)) "
1292 "to obtain the list of groups that I<user> belongs to. Up to I<*ngroups> of "
1293 "these groups are returned in the array I<groups>."
1295 "B<getgrouplist>() 関数は、グループデータベース (B<group>(5) 参照) を調べ"
1296 "て、 I<user> が所属するグループのリストを取得する。 見つかったグループのうち"
1297 "最大 I<*ngroups> 個のグループが、配列 I<groups> に格納されて返される。"
1300 #: build/C/man3/getgrouplist.3:66
1302 "If it was not among the groups defined for I<user> in the group database, "
1303 "then I<group> is included in the list of groups returned by B<getgrouplist>"
1304 "(); typically this argument is specified as the group ID from the password "
1305 "record for I<user>."
1307 "引き数 I<group> がグループデータベースに I<user> が所属するグループがなかった"
1308 "場合、 B<getgrouplist>() が返すグループのリストに引き数 I<group> も追加され"
1309 "る。 通常は、この引き数にはユーザ I<user> のパスワードレコードに書かれている"
1313 #: build/C/man3/getgrouplist.3:76
1315 "The I<ngroups> argument is a value-result argument: on return it always "
1316 "contains the number of groups found for I<user>, including I<group>; this "
1317 "value may be greater than the number of groups stored in I<groups>."
1319 "引き数 I<ngroups> は、値渡しと結果の両方に使用される引き数 (value-result "
1320 "argument) であり、 リターン時には、常に I<group> も含めた I<user> が所属する"
1321 "グループ数が格納される。 この値は I<groups> に格納されたグループ数より大きく"
1325 #: build/C/man3/getgrouplist.3:84
1327 "If the number of groups of which I<user> is a member is less than or equal "
1328 "to I<*ngroups>, then the value I<*ngroups> is returned."
1330 "I<user> が所属しているグループ数が I<*ngroups> 以下の場合、 I<*ngroups> の値"
1334 #: build/C/man3/getgrouplist.3:94
1336 "If the user is a member of more than I<*ngroups> groups, then B<getgrouplist>"
1337 "() returns -1. In this case the value returned in I<*ngroups> can be used "
1338 "to resize the buffer passed to a further call B<getgrouplist>()."
1340 "指定されたユーザが I<*ngroups> より多くのグループに所属している場合、 "
1341 "B<getgrouplist>() は -1 を返す。 この場合、 I<*ngroups> で返される値を使っ"
1342 "て、バッファのサイズを変更してから、 B<getgrouplist>() をもう一度呼び出すこ"
1346 #: build/C/man3/getgrouplist.3:94
1352 #: build/C/man3/getgrouplist.3:96
1353 msgid "This function is present since glibc 2.2.4."
1354 msgstr "この関数は glibc 2.2.4 から存在する。"
1357 #: build/C/man3/getgrouplist.3:98
1358 msgid "This function is nonstandard; it appears on most BSDs."
1359 msgstr "この関数は非標準である。ほとんどの BSD に存在する。"
1362 #: build/C/man3/getgrouplist.3:98 build/C/man3/getpw.3:96
1363 #: build/C/man5/group.5:54
1369 #: build/C/man3/getgrouplist.3:107
1371 "In glibc versions before 2.3.3, the implementation of this function contains "
1372 "a buffer-overrun bug: it returns the complete list of groups for I<user> in "
1373 "the array I<groups>, even when the number of groups exceeds I<*ngroups>."
1375 "バージョン 2.3.3 より前の glibc では、 この関数の実装にはバッファオーバーフ"
1376 "ローのバグがあり、 I<user> が所属するグループ数が I<*ngroups> より多い場合で"
1377 "あっても、 I<user> が所属するグループの全リストを配列 I<groups> に格納してし"
1381 #: build/C/man3/getgrouplist.3:116
1383 "The program below displays the group list for the user named in its first "
1384 "command-line argument. The second command-line argument specifies the "
1385 "I<ngroups> value to be supplied to B<getgrouplist>(). The following shell "
1386 "session shows examples of the use of this program:"
1388 "以下のプログラムは、一つ目のコマンドライン引き数で指定された名前のユーザ が所"
1389 "属するグループのリストを表示する。 二番目のコマンドライン引き数には、 "
1390 "B<getgrouplist>() に渡す I<ngroups> の値を指定する。 以下のシェルのセッショ"
1391 "ンはこのプログラムの使用例を示したものである。"
1394 #: build/C/man3/getgrouplist.3:126
1397 "$B< ./a.out cecilia 0>\n"
1398 "getgrouplist() returned -1; ngroups = 3\n"
1399 "$B< ./a.out cecilia 3>\n"
1405 "$B< ./a.out cecilia 0>\n"
1406 "getgrouplist() returned -1; ngroups = 3\n"
1407 "$B< ./a.out cecilia 3>\n"
1414 #: build/C/man3/getgrouplist.3:128
1416 msgid "Program source"
1420 #: build/C/man3/getgrouplist.3:135
1423 "#include E<lt>stdio.hE<gt>\n"
1424 "#include E<lt>stdlib.hE<gt>\n"
1425 "#include E<lt>grp.hE<gt>\n"
1426 "#include E<lt>pwd.hE<gt>\n"
1428 "#include E<lt>stdio.hE<gt>\n"
1429 "#include E<lt>stdlib.hE<gt>\n"
1430 "#include E<lt>grp.hE<gt>\n"
1431 "#include E<lt>pwd.hE<gt>\n"
1434 #: build/C/man3/getgrouplist.3:143
1438 "main(int argc, char *argv[])\n"
1440 " int j, ngroups;\n"
1442 " struct passwd *pw;\n"
1443 " struct group *gr;\n"
1446 "main(int argc, char *argv[])\n"
1448 " int j, ngroups;\n"
1450 " struct passwd *pw;\n"
1451 " struct group *gr;\n"
1454 #: build/C/man3/getgrouplist.3:148
1457 " if (argc != 3) {\n"
1458 " fprintf(stderr, \"Usage: %s E<lt>userE<gt> E<lt>ngroupsE<gt>\\en\", argv[0]);\n"
1459 " exit(EXIT_FAILURE);\n"
1462 " if (argc != 3) {\n"
1463 " fprintf(stderr, \"Usage: %s E<lt>userE<gt> E<lt>ngroupsE<gt>\\en\", argv[0]);\n"
1464 " exit(EXIT_FAILURE);\n"
1468 #: build/C/man3/getgrouplist.3:150
1470 msgid " ngroups = atoi(argv[2]);\n"
1471 msgstr " ngroups = atoi(argv[2]);\n"
1474 #: build/C/man3/getgrouplist.3:156
1477 " groups = malloc(ngroups * sizeof (gid_t));\n"
1478 " if (groups == NULL) {\n"
1479 " perror(\"malloc\");\n"
1480 " exit(EXIT_FAILURE);\n"
1483 " groups = malloc(ngroups * sizeof (gid_t));\n"
1484 " if (groups == NULL) {\n"
1485 " perror(\"malloc\");\n"
1486 " exit(EXIT_FAILURE);\n"
1490 #: build/C/man3/getgrouplist.3:158
1492 msgid " /* Fetch passwd structure (contains first group ID for user) */\n"
1493 msgstr " /* Fetch passwd structure (contains first group ID for user) */\n"
1496 #: build/C/man3/getgrouplist.3:164
1499 " pw = getpwnam(argv[1]);\n"
1500 " if (pw == NULL) {\n"
1501 " perror(\"getpwnam\");\n"
1502 " exit(EXIT_SUCCESS);\n"
1505 " pw = getpwnam(argv[1]);\n"
1506 " if (pw == NULL) {\n"
1507 " perror(\"getpwnam\");\n"
1508 " exit(EXIT_SUCCESS);\n"
1512 #: build/C/man3/getgrouplist.3:166
1514 msgid " /* Retrieve group list */\n"
1515 msgstr " /* Retrieve group list */\n"
1518 #: build/C/man3/getgrouplist.3:172
1521 " if (getgrouplist(argv[1], pw-E<gt>pw_gid, groups, &ngroups) == -1) {\n"
1522 " fprintf(stderr, \"getgrouplist() returned -1; ngroups = %d\\en\",\n"
1524 "\texit(EXIT_FAILURE);\n"
1527 " if (getgrouplist(argv[1], pw-E<gt>pw_gid, groups, &ngroups) == -1) {\n"
1528 " fprintf(stderr, \"getgrouplist() returned -1; ngroups = %d\\en\",\n"
1530 "\texit(EXIT_FAILURE);\n"
1534 #: build/C/man3/getgrouplist.3:174
1536 msgid " /* Display list of retrieved groups, along with group names */\n"
1537 msgstr " /* Display list of retrieved groups, along with group names */\n"
1540 #: build/C/man3/getgrouplist.3:183
1543 " fprintf(stderr, \"ngroups = %d\\en\", ngroups);\n"
1544 " for (j = 0; j E<lt> ngroups; j++) {\n"
1545 " printf(\"%d\", groups[j]);\n"
1546 " gr = getgrgid(groups[j]);\n"
1547 " if (gr != NULL)\n"
1548 " printf(\" (%s)\", gr-E<gt>gr_name);\n"
1549 " printf(\"\\en\");\n"
1552 " fprintf(stderr, \"ngroups = %d\\en\", ngroups);\n"
1553 " for (j = 0; j E<lt> ngroups; j++) {\n"
1554 " printf(\"%d\", groups[j]);\n"
1555 " gr = getgrgid(groups[j]);\n"
1556 " if (gr != NULL)\n"
1557 " printf(\" (%s)\", gr-E<gt>gr_name);\n"
1558 " printf(\"\\en\");\n"
1562 #: build/C/man3/getgrouplist.3:186
1565 " exit(EXIT_SUCCESS);\n"
1568 " exit(EXIT_SUCCESS);\n"
1572 #: build/C/man3/getgrouplist.3:193
1574 "B<getgroups>(2), B<setgroups>(2), B<getgrent>(3), B<group>(5), B<passwd>(5)"
1576 "B<getgroups>(2), B<setgroups>(2), B<getgrent>(3), B<group>(5), B<passwd>(5)"
1579 #: build/C/man3/getpw.3:30
1585 #: build/C/man3/getpw.3:33
1586 msgid "getpw - Re-construct password line entry"
1587 msgstr "getpw - パスワード行エントリを取得する"
1590 #: build/C/man3/getpw.3:38
1593 "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
1594 "B<#include E<lt>sys/types.hE<gt>>\n"
1595 "B<#include E<lt>pwd.hE<gt>>\n"
1597 "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */\n"
1598 "B<#include E<lt>sys/types.hE<gt>>\n"
1599 "B<#include E<lt>pwd.hE<gt>>\n"
1602 #: build/C/man3/getpw.3:40
1604 msgid "B<int getpw(uid_t >I<uid>B<, char *>I<buf>B<);>\n"
1605 msgstr "B<int getpw(uid_t >I<uid>B<, char *>I<buf>B<);>\n"
1608 #: build/C/man3/getpw.3:47
1610 "The B<getpw>() function reconstructs the password line entry for the given "
1611 "user ID I<uid> in the buffer I<buf>. The returned buffer contains a line of "
1614 "B<getpw>() 関数は、バッファ I<buf> に指定ユーザ ID I<uid> の パスワード行エ"
1615 "ントリを取得する。 返されるバッファは、以下の形式の行を含む。"
1618 #: build/C/man3/getpw.3:50
1619 msgid "B<name:passwd:uid:gid:gecos:dir:shell>"
1620 msgstr "B<name:passwd:uid:gid:gecos:dir:shell>"
1623 #: build/C/man3/getpw.3:65 build/C/man3/getpwent.3:96
1624 #: build/C/man3/getpwnam.3:100
1628 " char *pw_name; /* username */\n"
1629 " char *pw_passwd; /* user password */\n"
1630 " uid_t pw_uid; /* user ID */\n"
1631 " gid_t pw_gid; /* group ID */\n"
1632 " char *pw_gecos; /* user information */\n"
1633 " char *pw_dir; /* home directory */\n"
1634 " char *pw_shell; /* shell program */\n"
1638 " char *pw_name; /* ユーザ名 */\n"
1639 " char *pw_passwd; /* ユーザのパスワード */\n"
1640 " uid_t pw_uid; /* ユーザ ID */\n"
1641 " gid_t pw_gid; /* グループ ID */\n"
1642 " char *pw_gecos; /* ユーザ情報 */\n"
1643 " char *pw_dir; /* ホームディレクトリ */\n"
1644 " char *pw_shell; /* シェルプログラム */\n"
1648 #: build/C/man3/getpw.3:70 build/C/man3/getpwent.3:101
1649 #: build/C/man3/getpwent_r.3:83
1651 "For more information about the fields of this structure, see B<passwd>(5)."
1652 msgstr "この構造体のフィールドの詳細は B<passwd>(5) を参照のこと。"
1655 #: build/C/man3/getpw.3:76
1657 "The B<getpw>() function returns 0 on success; on error, it returns -1, and "
1658 "I<errno> is set to indicate the error."
1660 "B<getpw>() 関数は、成功した場合 0 を返す; エラーが発生した場合 -1 を返し、エ"
1661 "ラーを 示すために I<error> がセットされる。"
1664 #: build/C/man3/getpw.3:77 build/C/man3/putpwent.3:74
1670 #: build/C/man3/getpw.3:81
1671 msgid "I<buf> is NULL."
1672 msgstr "I<buf> が NULL。"
1675 #: build/C/man3/getpw.3:85
1676 msgid "No user corresponding to I<uid>."
1677 msgstr "I<uid> に対応するユーザがいない。"
1680 #: build/C/man3/getpw.3:96
1685 #: build/C/man3/getpw.3:103
1687 "The B<getpw>() function is dangerous as it may overflow the provided buffer "
1688 "I<buf>. It is obsoleted by B<getpwuid>(3)."
1690 "B<getpw>() 関数は、与えられたバッファ I<buf> がオーバーフローするかもしれな"
1691 "いので危険である。 この関数は B<getpwuid>(3) によって古いものとなった。"
1694 #: build/C/man3/getpw.3:112
1696 "B<endpwent>(3), B<fgetpwent>(3), B<getpwent>(3), B<getpwnam>(3), B<getpwuid>"
1697 "(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
1699 "B<endpwent>(3), B<fgetpwent>(3), B<getpwent>(3), B<getpwnam>(3), B<getpwuid>"
1700 "(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
1703 #: build/C/man3/getpwent.3:31
1709 #: build/C/man3/getpwent.3:34
1710 msgid "getpwent, setpwent, endpwent - get password file entry"
1711 msgstr "getpwent, setpwent, endpwent - パスワードファイルのエントリの取得"
1714 #: build/C/man3/getpwent.3:38 build/C/man3/getpwnam.3:42
1717 "B<#include E<lt>sys/types.hE<gt>>\n"
1718 "B<#include E<lt>pwd.hE<gt>>\n"
1720 "B<#include E<lt>sys/types.hE<gt>>\n"
1721 "B<#include E<lt>pwd.hE<gt>>\n"
1724 #: build/C/man3/getpwent.3:40
1726 msgid "B<struct passwd *getpwent(void);>\n"
1727 msgstr "B<struct passwd *getpwent(void);>\n"
1730 #: build/C/man3/getpwent.3:42
1732 msgid "B<void setpwent(void);>\n"
1733 msgstr "B<void setpwent(void);>\n"
1736 #: build/C/man3/getpwent.3:44
1738 msgid "B<void endpwent(void);>\n"
1739 msgstr "B<void endpwent(void);>\n"
1742 #: build/C/man3/getpwent.3:55
1743 msgid "B<getpwent>(), B<setpwent>(), B<endpwent>():"
1744 msgstr "B<getpwent>(), B<setpwent>(), B<endpwent>():"
1747 #: build/C/man3/getpwent.3:58
1749 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
1750 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
1752 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
1753 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
1756 #: build/C/man3/getpwent.3:72
1758 "The B<getpwent>() function returns a pointer to a structure containing the "
1759 "broken-out fields of a record from the password database (e.g., the local "
1760 "password file I</etc/passwd>, NIS, and LDAP). The first time B<getpwent>() "
1761 "is called, it returns the first entry; thereafter, it returns successive "
1764 "B<getpwent>() 関数は、パスワード・データベースから取得したエントリを 要素毎"
1765 "に分解し、各要素を格納した構造体へのポインタを返す (パスワード・データベース"
1766 "の例: ローカルのパスワードファイル I</etc/passwd>, NIS, LDAP)。 B<getpwent>"
1767 "() は、最初に呼び出された時は最初のエントリを返し、それ以降は 呼び出される毎"
1771 #: build/C/man3/getpwent.3:77
1773 "The B<setpwent>() function rewinds to the beginning of the password "
1775 msgstr "B<setpwent>() 関数を使うと、パスワード・データベースの先頭に戻る。"
1778 #: build/C/man3/getpwent.3:82
1780 "The B<endpwent>() function is used to close the password database after all "
1781 "processing has been performed."
1783 "B<endpwent>() 関数は、全ての処理が終わった後にパスワード・ データベースをク"
1787 #: build/C/man3/getpwent.3:114
1789 "The B<getpwent>() function returns a pointer to a I<passwd> structure, or "
1790 "NULL if there are no more entries or an error occurs. If an error occurs, "
1791 "I<errno> is set appropriately. If one wants to check I<errno> after the "
1792 "call, it should be set to zero before the call."
1794 "B<getpwent>() 関数は I<passwd> 構造体へのポインタを返す。 これ以上エントリが"
1795 "無いか、エラーが発生した場合は NULL を返す。 エラーが発生すると、 I<errno> が"
1796 "適切に設定される。 この関数の呼び出し後に I<errno> をチェックしたい場合は、呼"
1797 "び出し前に I<errno> を 0 に設定しておかないといけない。"
1800 #: build/C/man3/getpwent.3:123
1802 "The return value may point to a static area, and may be overwritten by "
1803 "subsequent calls to B<getpwent>(), B<getpwnam>(3), or B<getpwuid>(3). (Do "
1804 "not pass the returned pointer to B<free>(3).)"
1806 "返り値は静的な領域を指しており、その後の B<getpwent>(), B<getpwnam>(3), "
1807 "B<getpwuid>(3) の呼び出しで上書きされるかもしれない。 (返されたポインタを "
1808 "B<free>(3) に渡さないこと。)"
1811 #: build/C/man3/getpwent.3:152 build/C/man3/getpwnam.3:209
1812 msgid "local password database file"
1813 msgstr "ローカルのパスワード・データベースファイル"
1816 #: build/C/man3/getpwent.3:157 build/C/man3/getpwnam.3:214
1818 "SVr4, 4.3BSD, POSIX.1-2001. The I<pw_gecos> field is not specified in "
1819 "POSIX, but is present on most implementations."
1821 "SVr4, 4.3BSD, POSIX.1-2001. I<pw_gecos> フィールドは POSIX では規定されてい"
1822 "ないが、 ほとんどの実装に存在する。"
1825 #: build/C/man3/getpwent.3:165
1827 "B<fgetpwent>(3), B<getpw>(3), B<getpwent_r>(3), B<getpwnam>(3), B<getpwuid>"
1828 "(3), B<putpwent>(3), B<passwd>(5)"
1830 "B<fgetpwent>(3), B<getpw>(3), B<getpwent_r>(3), B<getpwnam>(3), B<getpwuid>"
1831 "(3), B<putpwent>(3), B<passwd>(5)"
1834 #: build/C/man3/getpwent_r.3:23
1840 #: build/C/man3/getpwent_r.3:26
1841 msgid "getpwent_r, fgetpwent_r - get passwd file entry reentrantly"
1843 "getpwent_r, fgetpwent_r - パスワードファイルのエントリを リエントラントで取り"
1847 #: build/C/man3/getpwent_r.3:29
1849 msgid "B<#include E<lt>pwd.hE<gt>>\n"
1850 msgstr "B<#include E<lt>pwd.hE<gt>>\n"
1853 #: build/C/man3/getpwent_r.3:31
1855 msgid "B<int getpwent_r(struct passwd *>I<pwbuf>B<, char *>I<buf>B<,>\n"
1856 msgstr "B<int getpwent_r(struct passwd *>I<pwbuf>B<, char *>I<buf>B<,>\n"
1859 #: build/C/man3/getpwent_r.3:33
1861 msgid "B< size_t >I<buflen>B<, struct passwd **>I<pwbufp>B<);>\n"
1862 msgstr "B< size_t >I<buflen>B<, struct passwd **>I<pwbufp>B<);>\n"
1865 #: build/C/man3/getpwent_r.3:35
1867 msgid "B<int fgetpwent_r(FILE *>I<fp>B<, struct passwd *>I<pwbuf>B<, char *>I<buf>B<,>\n"
1868 msgstr "B<int fgetpwent_r(FILE *>I<fp>B<, struct passwd *>I<pwbuf>B<, char *>I<buf>B<,>\n"
1871 #: build/C/man3/getpwent_r.3:37
1873 msgid "B< size_t >I<buflen>B<, struct passwd **>I<pwbufp>B<);>\n"
1874 msgstr "B< size_t >I<buflen>B<, struct passwd **>I<pwbufp>B<);>\n"
1877 #: build/C/man3/getpwent_r.3:46
1878 msgid "B<getpwent_r>(), _BSD_SOURCE || _SVID_SOURCE"
1879 msgstr "B<getpwent_r>(), _BSD_SOURCE || _SVID_SOURCE"
1882 #: build/C/man3/getpwent_r.3:49
1883 msgid "B<fgetpwent_r>(): _SVID_SOURCE"
1884 msgstr "B<fgetpwent_r>(): _SVID_SOURCE"
1887 #: build/C/man3/getpwent_r.3:62
1889 "The functions B<getpwent_r>() and B<fgetpwent_r>() are the reentrant "
1890 "versions of B<getpwent>(3) and B<fgetpwent>(3). The former reads the next "
1891 "passwd entry from the stream initialized by B<setpwent>(3). The latter "
1892 "reads the next passwd entry from the stream I<fp>."
1894 "関数 B<getpwent_r>() と B<fgetpwent_r>() は B<getpwent>(3) と B<fgetpwent>"
1895 "(3) のリエントラント (reentrant) 版である。 前者は、 B<setpwent>(3) によっ"
1896 "て初期化されたストリームから、次のパスワードエントリを読み込む。 後者は、スト"
1897 "リーム I<fp> から次のパスワードエントリを読み込む。"
1900 #: build/C/man3/getpwent_r.3:78
1904 " char *pw_name; /* username */\n"
1905 " char *pw_passwd; /* user password */\n"
1906 " uid_t pw_uid; /* user ID */\n"
1907 " gid_t pw_gid; /* group ID */\n"
1908 " char *pw_gecos; /* user information */\n"
1909 " char *pw_dir; /* home directory */\n"
1910 " char *pw_shell; /* shell program */\n"
1914 " char *pw_name; /* ユーザ名 */\n"
1915 " char *pw_passwd; /* ユーザのパスワード */\n"
1916 " uid_t pw_uid; /* ユーザ ID */\n"
1917 " gid_t pw_gid; /* グループ ID */\n"
1918 " char *pw_gecos; /* ユーザ情報 */\n"
1919 " char *pw_dir; /* ホームディレクトリ */\n"
1920 " char *pw_shell; /* シェルプログラム */\n"
1924 #: build/C/man3/getpwent_r.3:102
1926 "The nonreentrant functions return a pointer to static storage, where this "
1927 "static storage contains further pointers to user name, password, gecos "
1928 "field, home directory and shell. The reentrant functions described here "
1929 "return all of that in caller-provided buffers. First of all there is the "
1930 "buffer I<pwbuf> that can hold a I<struct passwd>. And next the buffer "
1931 "I<buf> of size I<buflen> that can hold additional strings. The result of "
1932 "these functions, the I<struct passwd> read from the stream, is stored in the "
1933 "provided buffer I<*pwbuf>, and a pointer to this I<struct passwd> is "
1934 "returned in I<*pwbufp>."
1936 "リエントラントでない関数は静的な格納領域へのポインタを返す。 この静的な格納領"
1937 "域には、更にユーザ名・パスワード・gecos フィールド・ ホームディレクトリ・シェ"
1938 "ルへのポインタが含まれる。 ここで説明されているリエントラント版の関数は、 呼"
1939 "び出し側から提供されるバッファにユーザ名など全てを返す。 最初の引き数として "
1940 "I<struct passwd> を保持できるバッファ I<pwbuf> がある。 次にその他の文字列を"
1941 "保持できるサイズ I<buflen> のバッファ I<buf> がある。 これらの関数の結果 (ス"
1942 "トリームから読み込まれた I<struct passwd>) は、 提供されたバッファ I<*pwbuf> "
1943 "に格納され、この I<struct passwd> へのポインタは I<*pwbufp> に返される。"
1946 #: build/C/man3/getpwent_r.3:109
1948 "On success, these functions return 0 and I<*pwbufp> is a pointer to the "
1949 "I<struct passwd>. On error, these functions return an error value and "
1950 "I<*pwbufp> is NULL."
1952 "成功した場合、これらの関数は 0 を返し、 I<*pwbufp> は I<struct passwd> へのポ"
1953 "インタとなる。 エラーの場合、これらの関数はエラー値を返し、 I<*pwbufp> は "
1957 #: build/C/man3/getpwent_r.3:127
1961 "getpwent_r(struct passwd *pwd, char *buf, int buflen);\n"
1964 "getpwent_r(struct passwd *pwd, char *buf, int buflen);\n"
1967 #: build/C/man3/getpwent_r.3:137
1971 "getpwent_r(struct passwd *pwd, char *buf, int buflen,\n"
1975 "getpwent_r(struct passwd *pwd, char *buf, int buflen,\n"
1979 #: build/C/man3/getpwent_r.3:144
1981 "The function B<getpwent_r>() is not really reentrant since it shares the "
1982 "reading position in the stream with all other threads."
1984 "関数 B<getpwent_r>() は本当のリエントラントではない。 なぜなら、ストリームの"
1985 "読み込み位置を 他の全てのスレッドと共有しているためである。"
1988 #: build/C/man3/getpwent_r.3:150
1991 "#define _GNU_SOURCE\n"
1992 "#include E<lt>pwd.hE<gt>\n"
1993 "#include E<lt>stdio.hE<gt>\n"
1994 "#define BUFLEN 4096\n"
1996 "#define _GNU_SOURCE\n"
1997 "#include E<lt>pwd.hE<gt>\n"
1998 "#include E<lt>stdio.hE<gt>\n"
1999 "#define BUFLEN 4096\n"
2002 #: build/C/man3/getpwent_r.3:157
2008 " struct passwd pw, *pwp;\n"
2009 " char buf[BUFLEN];\n"
2015 " struct passwd pw, *pwp;\n"
2016 " char buf[BUFLEN];\n"
2020 #: build/C/man3/getpwent_r.3:169
2025 " i = getpwent_r(&pw, buf, BUFLEN, &pwp);\n"
2028 " printf(\"%s (%d)\\etHOME %s\\etSHELL %s\\en\", pwp-E<gt>pw_name,\n"
2029 " pwp-E<gt>pw_uid, pwp-E<gt>pw_dir, pwp-E<gt>pw_shell);\n"
2032 " exit(EXIT_SUCCESS);\n"
2037 " i = getpwent_r(&pw, buf, BUFLEN, &pwp);\n"
2040 " printf(\"%s (%d)\\etHOME %s\\etSHELL %s\\en\", pwp-E<gt>pw_name,\n"
2041 " pwp-E<gt>pw_uid, pwp-E<gt>pw_dir, pwp-E<gt>pw_shell);\n"
2044 " exit(EXIT_SUCCESS);\n"
2048 #: build/C/man3/getpwent_r.3:187
2050 "B<fgetpwent>(3), B<getpw>(3), B<getpwent>(3), B<getpwnam>(3), B<getpwuid>"
2051 "(3), B<putpwent>(3), B<passwd>(5)"
2053 "B<fgetpwent>(3), B<getpw>(3), B<getpwent>(3), B<getpwnam>(3), B<getpwuid>"
2054 "(3), B<putpwent>(3), B<passwd>(5)"
2057 #: build/C/man3/getpwnam.3:35
2063 #: build/C/man3/getpwnam.3:38
2064 msgid "getpwnam, getpwnam_r, getpwuid, getpwuid_r - get password file entry"
2066 "getpwnam, getpwnam_r, getpwuid, getpwuid_r - パスワードファイルのエントリの取"
2070 #: build/C/man3/getpwnam.3:44
2072 msgid "B<struct passwd *getpwnam(const char *>I<name>B<);>\n"
2073 msgstr "B<struct passwd *getpwnam(const char *>I<name>B<);>\n"
2076 #: build/C/man3/getpwnam.3:46
2078 msgid "B<struct passwd *getpwuid(uid_t >I<uid>B<);>\n"
2079 msgstr "B<struct passwd *getpwuid(uid_t >I<uid>B<);>\n"
2082 #: build/C/man3/getpwnam.3:48
2084 msgid "B<int getpwnam_r(const char *>I<name>B<, struct passwd *>I<pwd>B<,>\n"
2085 msgstr "B<int getpwnam_r(const char *>I<name>B<, struct passwd *>I<pwd>B<,>\n"
2088 #: build/C/man3/getpwnam.3:50 build/C/man3/getpwnam.3:54
2090 msgid "B< char *>I<buf>B<, size_t >I<buflen>B<, struct passwd **>I<result>B<);>\n"
2091 msgstr "B< char *>I<buf>B<, size_t >I<buflen>B<, struct passwd **>I<result>B<);>\n"
2094 #: build/C/man3/getpwnam.3:52
2096 msgid "B<int getpwuid_r(uid_t >I<uid>B<, struct passwd *>I<pwd>B<,>\n"
2097 msgstr "B<int getpwuid_r(uid_t >I<uid>B<, struct passwd *>I<pwd>B<,>\n"
2100 #: build/C/man3/getpwnam.3:64
2101 msgid "B<getpwnam_r>(), B<getpwuid_r>():"
2102 msgstr "B<getpwnam_r>(), B<getpwuid_r>():"
2105 #: build/C/man3/getpwnam.3:79
2107 "The B<getpwnam>() function returns a pointer to a structure containing the "
2108 "broken-out fields of the record in the password database (e.g., the local "
2109 "password file I</etc/passwd>, NIS, and LDAP) that matches the username "
2112 "B<getpwnam>() 関数は、ユーザ名 I<name> にマッチするパスワード・データベース"
2113 "のエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返す (パス"
2114 "ワード・データベースの例: ローカルのパスワードファイル I</etc/passwd>, NIS, "
2118 #: build/C/man3/getpwnam.3:86
2120 "The B<getpwuid>() function returns a pointer to a structure containing the "
2121 "broken-out fields of the record in the password database that matches the "
2124 "B<getpwuid>() 関数は、ユーザ ID I<uid> にマッチするパスワード・データベース"
2125 "のエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返す。"
2128 #: build/C/man3/getpwnam.3:106
2129 msgid "See B<passwd>(5) for more information about these fields."
2133 #: build/C/man3/getpwnam.3:128
2136 #| "The B<getpwnam_r>() and B<getpwuid_r>() functions obtain the same "
2137 #| "information, but store the retrieved I<passwd> structure in the space "
2138 #| "pointed to by I<pwd>. This I<passwd> structure contains pointers to "
2139 #| "strings, and these strings are stored in the buffer I<buf> of size "
2140 #| "I<buflen>. A pointer to the result (in case of success) or NULL (in case "
2141 #| "no entry was found or an error occurred) is stored in I<*result>."
2143 "The B<getpwnam_r>() and B<getpwuid_r>() functions obtain the same "
2144 "information as B<getpwnam>() and B<getpwuid>(), but store the retrieved "
2145 "I<passwd> structure in the space pointed to by I<pwd>. The string fields "
2146 "pointed to by the members of the I<passwd> structure are stored in the "
2147 "buffer I<buf> of size I<buflen>. A pointer to the result (in case of "
2148 "success) or NULL (in case no entry was found or an error occurred) is stored "
2151 "B<getpwnam_r>() と B<getpwuid_r>() 関数は (上記の関数と) 同じ情報を取得する"
2152 "が、 取得した I<passwd> 構造体を I<pwd> が指す領域に格納する。 この "
2153 "I<passwd> 構造体には文字列へのポインタが含まれ、 これらの文字列はサイズ "
2154 "I<buflen> のバッファ I<buf> に格納される。 成功した場合 I<*result> には結果へ"
2155 "のポインタが格納される。 エントリが見つからなかった場合やエラーが発生した場合"
2156 "には I<*result> には NULL が入る。"
2159 #: build/C/man3/getpwnam.3:135
2162 #| "The maximum needed size for I<buf> can be found using B<sysconf>(3) with "
2163 #| "the argument B<_SC_GETPW_R_SIZE_MAX>."
2165 "The maximum size needed for I<buf> can be found using B<sysconf>(3) with "
2166 "the argument B<_SC_GETPW_R_SIZE_MAX>."
2168 "I<buf> に最大必要なサイズは、 B<sysconf>(3) に引き数 "
2169 "B<_SC_GETPW_R_SIZE_MAX> を指定して実行することで分かる。"
2172 #: build/C/man3/getpwnam.3:150
2174 "The B<getpwnam>() and B<getpwuid>() functions return a pointer to a "
2175 "I<passwd> structure, or NULL if the matching entry is not found or an error "
2176 "occurs. If an error occurs, I<errno> is set appropriately. If one wants to "
2177 "check I<errno> after the call, it should be set to zero before the call."
2179 "B<getpwnam>() と B<getpwuid>() 関数は、 I<passwd> 構造体へのポインタを返"
2180 "す。 一致するエントリが見つからなかった場合や、エラーが発生した場合は NULL を"
2181 "返す。 エラーが起こった場合、 I<errno> が適切に設定される。 呼び出しの後で "
2182 "I<errno> をチェックしたい場合は、 呼び出しの前に (この値を) 0 に設定しておく"
2186 #: build/C/man3/getpwnam.3:159
2188 "The return value may point to a static area, and may be overwritten by "
2189 "subsequent calls to B<getpwent>(3), B<getpwnam>(), or B<getpwuid>(). (Do "
2190 "not pass the returned pointer to B<free>(3).)"
2192 "返り値は静的な領域を指しており、その後の B<getpwent>(3), B<getpwnam>(), "
2193 "B<getpwuid>() の呼び出しで上書きされるかもしれない。 (返されたポインタを "
2194 "B<free>(3) に渡さないこと。)"
2197 #: build/C/man3/getpwnam.3:173
2199 "On success, B<getpwnam_r>() and B<getpwuid_r>() return zero, and set "
2200 "I<*result> to I<pwd>. If no matching password record was found, these "
2201 "functions return 0 and store NULL in I<*result>. In case of error, an error "
2202 "number is returned, and NULL is stored in I<*result>."
2204 "成功すると、 B<getpwnam_r>() と B<getpwuid_r>() は 0 を返し、 I<*result> "
2205 "に I<pwd> を設定する。 マッチするパスワード・エントリが見つからなかった場合に"
2206 "は、 0 を返し、 I<*result> に NULL を設定する。 エラーの場合、エラー番号を返"
2207 "し、 I<*result> に NULL を設定する。"
2210 #: build/C/man3/getpwnam.3:181
2211 msgid "The given I<name> or I<uid> was not found."
2212 msgstr "指定された I<name> または I<uid> が見つからなかった。"
2215 #. AIX 5.1 - gives ESRCH
2216 #. OSF1 4.0g - gives EWOULDBLOCK
2217 #. libc, glibc up to version 2.6, Irix 6.5 - give ENOENT
2218 #. glibc since version 2.7 - give 0
2219 #. FreeBSD 4.8, OpenBSD 3.2, NetBSD 1.6 - give EPERM
2220 #. SunOS 5.8 - gives EBADF
2221 #. Tru64 5.1b, HP-UX-11i, SunOS 5.7 - give 0
2223 #: build/C/man3/getpwnam.3:235
2225 "The formulation given above under \"RETURN VALUE\" is from POSIX.1-2001. It "
2226 "does not call \"not found\" an error, and hence does not specify what value "
2227 "I<errno> might have in this situation. But that makes it impossible to "
2228 "recognize errors. One might argue that according to POSIX I<errno> should "
2229 "be left unchanged if an entry is not found. Experiments on various UNIX-"
2230 "like systems show that lots of different values occur in this situation: 0, "
2231 "ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM and probably others."
2233 "上記の「返り値」以下の記述は POSIX.1-2001 に拠る。 この標準は「(エントリが) "
2234 "見つからないこと」をエラーとしていないので、 そのような場合に I<errno> がどの"
2235 "ような値になるかを定めていない。 そのため、エラーを認識することは不可能であ"
2236 "る。 POSIX に準拠して、エントリが見つからない場合は I<errno> を変更しないよう"
2237 "にすべきである、と主張する人もいるかもしれない。 様々な UNIX 系のシステムで試"
2238 "してみると、そのような場合には 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM と"
2239 "いった様々な値が返される。 他の値が返されるかもしれない。"
2242 #: build/C/man3/getpwnam.3:253
2244 "The I<pw_dir> field contains the name of the initial working directory of "
2245 "the user. Login programs use the value of this field to initialize the "
2246 "B<HOME> environment variable for the login shell. An application that wants "
2247 "to determine its user's home directory should inspect the value of B<HOME> "
2248 "(rather than the value I<getpwuid(getuid())-E<gt>pw_dir>) since this allows "
2249 "the user to modify their notion of \"the home directory\" during a login "
2250 "session. To determine the (initial) home directory of another user, it is "
2251 "necessary to use I<getpwnam(\"username\")-E<gt>pw_dir> or similar."
2253 "フィールド I<pw_dir> には、ユーザの作業ディレクトリ名の初期値が格納される。 "
2254 "ログインプロセスは、このフィールドの値を使って、 ログインシェルの B<HOME> 環"
2255 "境変数を初期化する。 アプリケーションが、ユーザのホーム・ディレクトリを決定す"
2256 "る場合には、 (I<getpwuid(getuid())-E<gt>pw_dir> の値ではなく) B<HOME> の値を"
2257 "検査するようにすべきである。 なぜなら、このようにすることで、ユーザがログイ"
2258 "ン・セッション中で 「ホーム・ディレクトリ」の意味を変更できるようになるからで"
2259 "ある。 別のユーザのホーム・ディレクトリ (の初期値) を知るには I<getpwnam"
2260 "(\"username\")-E<gt>pw_dir> か同様の方法を使う必要がある。"
2263 #: build/C/man3/getpwnam.3:258
2265 "The program below demonstrates the use of B<getpwnam_r>() to find the full "
2266 "username and user ID for the username supplied as a command-line argument."
2268 "以下のプログラムは B<getpwnam_r>() の使用例を示したもので、コマンドライン引"
2269 "き数で渡されたユーザ名に対する 完全なユーザ名とユーザ ID を探すものである。"
2272 #: build/C/man3/getpwnam.3:265
2275 "#include E<lt>pwd.hE<gt>\n"
2276 "#include E<lt>stdio.hE<gt>\n"
2277 "#include E<lt>stdlib.hE<gt>\n"
2278 "#include E<lt>unistd.hE<gt>\n"
2279 "#include E<lt>errno.hE<gt>\n"
2281 "#include E<lt>pwd.hE<gt>\n"
2282 "#include E<lt>stdio.hE<gt>\n"
2283 "#include E<lt>stdlib.hE<gt>\n"
2284 "#include E<lt>unistd.hE<gt>\n"
2285 "#include E<lt>errno.hE<gt>\n"
2288 #: build/C/man3/getpwnam.3:274
2292 "main(int argc, char *argv[])\n"
2294 " struct passwd pwd;\n"
2295 " struct passwd *result;\n"
2297 " size_t bufsize;\n"
2301 "main(int argc, char *argv[])\n"
2303 " struct passwd pwd;\n"
2304 " struct passwd *result;\n"
2306 " size_t bufsize;\n"
2310 #: build/C/man3/getpwnam.3:279
2313 " if (argc != 2) {\n"
2314 " fprintf(stderr, \"Usage: %s username\\en\", argv[0]);\n"
2315 " exit(EXIT_FAILURE);\n"
2318 " if (argc != 2) {\n"
2319 " fprintf(stderr, \"Usage: %s username\\en\", argv[0]);\n"
2320 " exit(EXIT_FAILURE);\n"
2324 #: build/C/man3/getpwnam.3:283
2327 " bufsize = sysconf(_SC_GETPW_R_SIZE_MAX);\n"
2328 " if (bufsize == -1) /* Value was indeterminate */\n"
2329 " bufsize = 16384; /* Should be more than enough */\n"
2331 " bufsize = sysconf(_SC_GETPW_R_SIZE_MAX);\n"
2332 " if (bufsize == -1) /* 値を決定できなかった */\n"
2333 " bufsize = 16384; /* 十分大きな値にすべき */\n"
2336 #: build/C/man3/getpwnam.3:289
2339 " buf = malloc(bufsize);\n"
2340 " if (buf == NULL) {\n"
2341 " perror(\"malloc\");\n"
2342 " exit(EXIT_FAILURE);\n"
2345 " buf = malloc(bufsize);\n"
2346 " if (buf == NULL) {\n"
2347 " perror(\"malloc\");\n"
2348 " exit(EXIT_FAILURE);\n"
2352 #: build/C/man3/getpwnam.3:300
2355 " s = getpwnam_r(argv[1], &pwd, buf, bufsize, &result);\n"
2356 " if (result == NULL) {\n"
2358 " printf(\"Not found\\en\");\n"
2361 " perror(\"getpwnam_r\");\n"
2363 " exit(EXIT_FAILURE);\n"
2366 " s = getpwnam_r(argv[1], &pwd, buf, bufsize, &result);\n"
2367 " if (result == NULL) {\n"
2369 " printf(\"Not found\\en\");\n"
2372 " perror(\"getpwnam_r\");\n"
2374 " exit(EXIT_FAILURE);\n"
2378 #: build/C/man3/getpwnam.3:304
2381 " printf(\"Name: %s; UID: %ld\\en\", pwd.pw_gecos, (long) pwd.pw_uid);\n"
2382 " exit(EXIT_SUCCESS);\n"
2385 " printf(\"Name: %s; UID: %ld\\en\", pwd.pw_gecos, (long) pwd.pw_uid);\n"
2386 " exit(EXIT_SUCCESS);\n"
2390 #: build/C/man3/getpwnam.3:315
2392 "B<endpwent>(3), B<fgetpwent>(3), B<getgrnam>(3), B<getpw>(3), B<getpwent>"
2393 "(3), B<getspnam>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
2395 "B<endpwent>(3), B<fgetpwent>(3), B<getgrnam>(3), B<getpw>(3), B<getpwent>"
2396 "(3), B<getspnam>(3), B<putpwent>(3), B<setpwent>(3), B<passwd>(5)"
2399 #: build/C/man3/getspnam.3:6
2405 #: build/C/man3/getspnam.3:6
2411 #: build/C/man3/getspnam.3:11
2413 "getspnam, getspnam_r, getspent, getspent_r, setspent, endspent, fgetspent, "
2414 "fgetspent_r, sgetspent, sgetspent_r, putspent, lckpwdf, ulckpwdf - get "
2415 "shadow password file entry"
2417 "getspnam, getspnam_r, getspent, getspent_r, setspent, endspent,fgetspent, "
2418 "fgetspent_r, sgetspent, sgetspent_r, putspent, lckpwdf, ulckpwdf - shadow パ"
2419 "スワードファイルのエントリを取得する"
2422 #: build/C/man3/getspnam.3:14
2424 msgid "/* General shadow password file API */\n"
2425 msgstr "/* 一般的な shadow パスワードファイル API */\n"
2428 #: build/C/man3/getspnam.3:16 build/C/man3/getspnam.3:38
2430 msgid "B<#include E<lt>shadow.hE<gt>>\n"
2431 msgstr "B<#include E<lt>shadow.hE<gt>>\n"
2434 #: build/C/man3/getspnam.3:18
2436 msgid "B<struct spwd *getspnam(const char *>I<name>B<);>\n"
2437 msgstr "B<struct spwd *getspnam(const char *>I<name>B<);>\n"
2440 #: build/C/man3/getspnam.3:20
2442 msgid "B<struct spwd *getspent(void);>\n"
2443 msgstr "B<struct spwd *getspent(void);>\n"
2446 #: build/C/man3/getspnam.3:22
2448 msgid "B<void setspent(void);>\n"
2449 msgstr "B<void setspent(void);>\n"
2452 #: build/C/man3/getspnam.3:24
2454 msgid "B<void endspent(void);>\n"
2455 msgstr "B<void endspent(void);>\n"
2458 #: build/C/man3/getspnam.3:26
2460 msgid "B<struct spwd *fgetspent(FILE *>I<fp>B<);>\n"
2461 msgstr "B<struct spwd *fgetspent(FILE *>I<fp>B<);>\n"
2464 #: build/C/man3/getspnam.3:28
2466 msgid "B<struct spwd *sgetspent(const char *>I<s>B<);>\n"
2467 msgstr "B<struct spwd *sgetspent(const char *>I<s>B<);>\n"
2470 #: build/C/man3/getspnam.3:30
2472 msgid "B<int putspent(struct spwd *>I<p>B<, FILE *>I<fp>B<);>\n"
2473 msgstr "B<int putspent(struct spwd *>I<p>B<, FILE *>I<fp>B<);>\n"
2476 #: build/C/man3/getspnam.3:32
2478 msgid "B<int lckpwdf(void);>\n"
2479 msgstr "B<int lckpwdf(void);>\n"
2482 #: build/C/man3/getspnam.3:34
2484 msgid "B<int ulckpwdf(void);>\n"
2485 msgstr "B<int ulckpwdf(void);>\n"
2488 #: build/C/man3/getspnam.3:36
2490 msgid "/* GNU extension */\n"
2491 msgstr "/* GNU 版における拡張 */\n"
2494 #: build/C/man3/getspnam.3:40
2496 msgid "B<int getspent_r(struct spwd *>I<spbuf>B<,>\n"
2497 msgstr "B<int getspent_r(struct spwd *>I<spbuf>B<,>\n"
2500 #: build/C/man3/getspnam.3:42 build/C/man3/getspnam.3:46
2501 #: build/C/man3/getspnam.3:50 build/C/man3/getspnam.3:54
2503 msgid "B< char *>I<buf>B<, size_t >I<buflen>B<, struct spwd **>I<spbufp>B<);>\n"
2504 msgstr "B< char *>I<buf>B<, size_t >I<buflen>B<, struct spwd **>I<spbufp>B<);>\n"
2507 #: build/C/man3/getspnam.3:44
2509 msgid "B<int getspnam_r(const char *>I<name>B<, struct spwd *>I<spbuf>B<,>\n"
2510 msgstr "B<int getspnam_r(const char *>I<name>B<, struct spwd *>I<spbuf>B<,>\n"
2513 #: build/C/man3/getspnam.3:48
2515 msgid "B<int fgetspent_r(FILE *>I<fp>B<, struct spwd *>I<spbuf>B<,>\n"
2516 msgstr "B<int fgetspent_r(FILE *>I<fp>B<, struct spwd *>I<spbuf>B<,>\n"
2519 #: build/C/man3/getspnam.3:52
2521 msgid "B<int sgetspent_r(const char *>I<s>B<, struct spwd *>I<spbuf>B<,>\n"
2522 msgstr "B<int sgetspent_r(const char *>I<s>B<, struct spwd *>I<spbuf>B<,>\n"
2525 #: build/C/man3/getspnam.3:66
2526 msgid "B<getspent_r>(), B<getspnam_r>(), B<fgetspent_r>(), B<sgetspent_r>():"
2527 msgstr "B<getspent_r>(), B<getspnam_r>(), B<fgetspent_r>(), B<sgetspent_r>():"
2530 #: build/C/man3/getspnam.3:68
2531 msgid "_BSD_SOURCE || _SVID_SOURCE"
2532 msgstr "_BSD_SOURCE || _SVID_SOURCE"
2535 #: build/C/man3/getspnam.3:82
2537 "Long ago it was considered safe to have encrypted passwords openly visible "
2538 "in the password file. When computers got faster and people got more "
2539 "security-conscious, this was no longer acceptable. Julianne Frances Haugh "
2540 "implemented the shadow password suite that keeps the encrypted passwords in "
2541 "the shadow password database (e.g., the local shadow password file I</etc/"
2542 "shadow>, NIS, and LDAP), readable only by root."
2544 "昔は暗号化されたパスワードをパスワードファイルに 見えるように公開しておいても"
2545 "安全だと考えられていた。 Julianne Frances Haugh は shadow パスワード・スイー"
2546 "トを実装した。 これは暗号化されたパスワードを、root のみが読むことができる "
2547 "shadow パスワード・データベース (例えば、 ローカルの shadow パスワードファイ"
2548 "ル I</etc/shadow>, NIS, LDAP) に保持する。"
2550 #. FIXME I've commented out the following for the
2551 #. moment. The relationship between PAM and nsswitch.conf needs
2552 #. to be clearly documented in one place, which is pointed to by
2553 #. the pages for the user, group, and shadow password functions.
2555 #. This shadow password setup has been superseded by PAM
2556 #. (pluggable authentication modules), and the file
2557 #. .I /etc/nsswitch.conf
2558 #. now describes the sources to be used.
2560 #: build/C/man3/getspnam.3:99
2562 "The functions described below resemble those for the traditional password "
2563 "database (e.g., see B<getpwnam>(3) and B<getpwent>(3))."
2565 "以下で説明する関数は、伝統的なパスワード・データベースに対する 関数に似てい"
2566 "る (例えば B<getpwnam>(3) や B<getpwent>(3) を参照)。"
2569 #: build/C/man3/getspnam.3:106
2571 "The B<getspnam>() function returns a pointer to a structure containing the "
2572 "broken-out fields of the record in the shadow password database that matches "
2573 "the username I<name>."
2575 "B<getspnam>() 関数は、ユーザ名 I<name> にマッチする shadow パスワード・デー"
2576 "タベースのエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返"
2579 #. some systems require a call of setspent() before the first getspent()
2582 #: build/C/man3/getspnam.3:118
2584 "The B<getspent>() function returns a pointer to the next entry in the "
2585 "shadow password database. The position in the input stream is initialized "
2586 "by B<setspent>(). When done reading, the program may call B<endspent>() so "
2587 "that resources can be deallocated."
2589 "B<getspent>() 関数は shadow パスワード・データベースにおける次のエントリへの"
2590 "ポインタを返す。 入力ストリームにおける位置は、 B<setspent>() で初期化され"
2591 "る。 読み込みが終わった後に、 B<endspent>() を呼び出すと、リソースを解放でき"
2595 #: build/C/man3/getspnam.3:125
2597 "The B<fgetspent>() function is similar to B<getspent>() but uses the "
2598 "supplied stream instead of the one implicitly opened by B<setspent>()."
2600 "B<fgetspent>() 関数は B<getspent>() に似ているが、 B<setspent>() で暗黙の"
2601 "うちにオープンされるストリームではなく、与えられたストリームを使う。"
2604 #: build/C/man3/getspnam.3:132
2606 "The B<sgetspent>() function parses the supplied string I<s> into a struct "
2609 "B<sgetspent>() 関数は与えられた文字列 I<s> を解析し struct I<spwd> に格納す"
2613 #: build/C/man3/getspnam.3:142
2615 "The B<putspent>() function writes the contents of the supplied struct "
2616 "I<spwd> I<*p> as a text line in the shadow password file format to the "
2617 "stream I<fp>. String entries with value NULL and numerical entries with "
2618 "value -1 are written as an empty string."
2620 "B<putspent>() 関数は与えられた struct I<spwd> I<*p> の内容を shadow パスワー"
2621 "ドファイル形式のテキスト行でストリーム I<fp> に書き出す。 空文字列として、 値"
2622 "が NULL の文字列エントリと値が -1 の数値エントリが 書き出される。"
2625 #: build/C/man3/getspnam.3:157
2627 "The B<lckpwdf>() function is intended to protect against multiple "
2628 "simultaneous accesses of the shadow password database. It tries to acquire "
2629 "a lock, and returns 0 on success, or -1 on failure (lock not obtained within "
2630 "15 seconds). The B<ulckpwdf>() function releases the lock again. Note "
2631 "that there is no protection against direct access of the shadow password "
2632 "file. Only programs that use B<lckpwdf>() will notice the lock."
2634 "B<lckpwdf>() 関数は、 shadow パスワード・データベースを 多重同時アクセスから"
2635 "守るためのものである。 この関数はロックの獲得を試み、 成功した場合は 0 を返"
2636 "す。 失敗した場合 (15 秒以内にロックが取得できなかった場合) は -1 を返す。 "
2637 "B<ulckpwdf>() 関数はロックを再び解放する。 shadow パスワードファイルへの直接"
2638 "アクセスから 保護する手段がない点に注意すること。 B<lckpwdf>() を使うプログ"
2642 #. SUN doesn't have sgetspent()
2644 #: build/C/man3/getspnam.3:162
2646 "These were the functions that formed the original shadow API. They are "
2649 "これらの関数はオリジナルの shadow API を構成していた関数であり、 いろいろなシ"
2653 #: build/C/man3/getspnam.3:162
2655 msgid "Reentrant versions"
2659 #: build/C/man3/getspnam.3:179
2661 "Analogous to the reentrant functions for the password database, glibc also "
2662 "has reentrant functions for the shadow password database. The B<getspnam_r>"
2663 "() function is like B<getspnam>() but stores the retrieved shadow password "
2664 "structure in the space pointed to by I<spbuf>. This shadow password "
2665 "structure contains pointers to strings, and these strings are stored in the "
2666 "buffer I<buf> of size I<buflen>. A pointer to the result (in case of "
2667 "success) or NULL (in case no entry was found or an error occurred) is stored "
2670 "パスワード・データベースに対するリエントラント版と同じように、 glibc には "
2671 "shadow パスワードファイルに対してリエントラント版がある。 B<getspnam_r>() 関"
2672 "数は B<getspnam>() と似ているが、取得した shadow パスワード構造体を "
2673 "I<spbuf> が指す領域に格納する。 shadow パスワード構造体は文字列群へのポインタ"
2674 "を含み、 これらの文字列群はサイズ I<buflen> のバッファ I<buf> に格納される。 "
2675 "I<*spbufp> には (成功した場合は) 結果へのポインタが格納され、 (エントリが見つ"
2676 "からなかった場合またはエラーが起こった場合は) NULL が格納される。"
2679 #: build/C/man3/getspnam.3:186
2681 "The functions B<getspent_r>(), B<fgetspent_r>(), and B<sgetspent_r>() are "
2682 "similarly analogous to their nonreentrant counterparts."
2684 "関数 B<getspent_r>(), B<fgetspent_r>(), B<sgetspent_r>() はそれぞれリエント"
2685 "ラントでないバージョンと同様の機能を持つ。"
2687 #. SUN doesn't have sgetspent_r()
2689 #: build/C/man3/getspnam.3:190
2691 "Some non-glibc systems also have functions with these names, often with "
2692 "different prototypes."
2694 "glibc でないシステムにもこれらと同じ名前の関数があるが、 プロトタイプが異なる"
2698 #: build/C/man3/getspnam.3:190
2704 #: build/C/man3/getspnam.3:192
2706 "The shadow password structure is defined in I<E<lt>shadow.hE<gt>> as follows:"
2708 "shadow パスワード構造体は I<E<lt>shadow.hE<gt>> で以下のように定義されている:"
2711 #: build/C/man3/getspnam.3:210
2715 " char *sp_namp; /* Login name */\n"
2716 " char *sp_pwdp; /* Encrypted password */\n"
2717 " long sp_lstchg; /* Date of last change (measured\n"
2718 " in days since 1970-01-01 00:00:00 +0000 (UTC)) */\n"
2719 " long sp_min; /* Min # of days between changes */\n"
2720 " long sp_max; /* Max # of days between changes */\n"
2721 " long sp_warn; /* # of days before password expires\n"
2722 " to warn user to change it */\n"
2723 " long sp_inact; /* # of days after password expires\n"
2724 " until account is disabled */\n"
2725 " long sp_expire; /* Date when account expires (measured\n"
2726 " in days since 1970-01-01 00:00:00 +0000 (UTC)) */\n"
2727 " unsigned long sp_flag; /* Reserved */\n"
2731 " char *sp_namp; /* ログイン名 */\n"
2732 " char *sp_pwdp; /* 暗号化されたパスワード */\n"
2733 " long sp_lstchg; /* 最終更新日\n"
2734 " (1970-01-01 00:00:00 +0000 (UTC)) からの日数) */\n"
2735 " long sp_min; /* 変更が出来るようになるまでの最短日数 */\n"
2736 " long sp_max; /* 変更をしなくてもよい最長日数 */\n"
2737 " long sp_warn; /* パスワードが期限切れになる前に\n"
2738 " ユーザに変更の警告を出す日数 */\n"
2739 " long sp_inact; /* パスワードが期限切れになってから\n"
2740 " アカウントが無効になるまでの日数 */\n"
2741 " long sp_expire; /* アカウントが無効になる日付\n"
2742 " (1970-01-01 00:00:00 +0000 (UTC)) からの日数) */\n"
2743 " unsigned long sp_flag; /* 予約フィールド */\n"
2747 #: build/C/man3/getspnam.3:217
2749 "The functions that return a pointer return NULL if no more entries are "
2750 "available or if an error occurs during processing. The functions which have "
2751 "I<int> as the return value return 0 for success and -1 for failure."
2753 "ポインタを返す関数は、これ以上エントリがない場合や 処理中にエラーが発生した場"
2754 "合 NULL を返す。 I<int> を返り値として持つ関数は、 成功した場合 0 を返し、失"
2758 #: build/C/man3/getspnam.3:220
2760 "For the nonreentrant functions, the return value may point to static area, "
2761 "and may be overwritten by subsequent calls to these functions."
2763 "リエントラント版でない関数では、返り値が静的な領域を指しており、 引き続いてこ"
2764 "れらの関数を呼び出した場合に上書きされる可能性がある。"
2767 #: build/C/man3/getspnam.3:223
2769 "The reentrant functions return zero on success. In case of error, an error "
2770 "number is returned."
2772 "リエントラント版の関数は、成功した場合に 0 を返す。 エラーの場合は、エラー番"
2776 #: build/C/man3/getspnam.3:227
2777 msgid "Supplied buffer is too small."
2778 msgstr "与えられたバッファが小さすぎる。"
2781 #: build/C/man3/getspnam.3:228
2783 msgid "I</etc/shadow>"
2784 msgstr "I</etc/shadow>"
2787 #: build/C/man3/getspnam.3:231
2788 msgid "local shadow password database file"
2789 msgstr "ローカルの shadow パスワード・データベースファイル"
2792 #: build/C/man3/getspnam.3:231
2794 msgid "I</etc/.pwd.lock>"
2795 msgstr "I</etc/.pwd.lock>"
2798 #: build/C/man3/getspnam.3:234
2803 #: build/C/man3/getspnam.3:240
2805 "The include file I<E<lt>paths.hE<gt>> defines the constant B<_PATH_SHADOW> "
2806 "to the pathname of the shadow password file."
2808 "インクルードファイル I<E<lt>paths.hE<gt>> は定数 B<_PATH_SHADOW> を定義してい"
2809 "る。 これは shadow パスワードファイルのパス名である。"
2812 #: build/C/man3/getspnam.3:244
2814 "The shadow password database and its associated API are not specified in "
2815 "POSIX.1-2001. However, many other systems provide a similar API."
2817 "shadow パスワード・データベースと関連 API は POSIX.1-2001 には記載されていな"
2818 "い。しかしながら、多くの他のシステムでも 同様の API が提供されている。"
2821 #: build/C/man3/getspnam.3:249
2822 msgid "B<getgrnam>(3), B<getpwnam>(3), B<getpwnam_r>(3), B<shadow>(5)"
2823 msgstr "B<getgrnam>(3), B<getpwnam>(3), B<getpwnam_r>(3), B<shadow>(5)"
2826 #: build/C/man5/group.5:25
2832 #: build/C/man5/group.5:28
2833 msgid "group - user group file"
2834 msgstr "group - ユーザーグループのファイル"
2837 #: build/C/man5/group.5:33
2840 #| "I</etc/group> is a text file which defines the groups on the system. "
2841 #| "There is one entry per line, with the following format:"
2843 "The I</etc/group> file is a text file that defines the groups on the "
2844 "system. There is one entry per line, with the following format:"
2846 "I</etc/group> は、そのシステムのグループを定義するテキストファイルである。 1 "
2847 "行に 1 エントリで、各行の形式は以下のとおりである。"
2850 #: build/C/man5/group.5:36
2851 msgid "group_name:password:GID:user_list"
2852 msgstr "group_name:password:GID:user_list"
2855 #: build/C/man5/group.5:39
2856 msgid "The fields are as follows:"
2860 #: build/C/man5/group.5:39
2862 #| msgid "group_name"
2863 msgid "I<group_name>"
2867 #: build/C/man5/group.5:42
2868 msgid "the name of the group."
2872 #: build/C/man5/group.5:42 build/C/man5/passwd.5:75
2875 msgstr "I<password>"
2878 #: build/C/man5/group.5:46
2880 "the (encrypted) group password. If this field is empty, no password is "
2883 "(暗号化された) パスワード。このフィールドが空ならパスワードは必要ない。"
2886 #: build/C/man5/group.5:46 build/C/man5/passwd.5:84
2892 #: build/C/man5/group.5:49
2894 #| msgid "the numerical group ID."
2895 msgid "the numeric group ID."
2899 #: build/C/man5/group.5:49
2901 #| msgid "user_list"
2902 msgid "I<user_list>"
2906 #: build/C/man5/group.5:52
2908 "a list of the usernames that are members of this group, separated by commas."
2910 "このグループのメンバーのユーザー名のリスト。 ユーザー名はコンマで区切られる。"
2913 #: build/C/man5/group.5:54
2918 #: build/C/man5/group.5:60
2920 "As the 4.2BSD B<initgroups>(3) man page says: No-one seems to keep I</etc/"
2921 "group> up-to-date."
2923 "4.2BSD の B<initgroups>(3) には次のように書かれている: 誰も I</etc/group> を"
2924 "最新の状態に保ってはいないようである。"
2927 #: build/C/man5/group.5:66
2928 msgid "B<login>(1), B<newgrp>(1), B<getgrent>(3), B<getgrnam>(3), B<passwd>(5)"
2930 "B<login>(1), B<newgrp>(1), B<getgrent>(3), B<getgrnam>(3), B<passwd>(5)"
2933 #: build/C/man3/initgroups.3:30
2939 #: build/C/man3/initgroups.3:30 build/C/man3/putpwent.3:28
2945 #: build/C/man3/initgroups.3:33
2946 msgid "initgroups - initialize the supplementary group access list"
2947 msgstr "initgroups - 追加のグループアクセスリストの初期化"
2950 #: build/C/man3/initgroups.3:39
2952 msgid "B<int initgroups(const char *>I<user>B<, gid_t >I<group>B<);>\n"
2953 msgstr "B<int initgroups(const char *>I<user>B<, gid_t >I<group>B<);>\n"
2956 #: build/C/man3/initgroups.3:48
2957 msgid "B<initgroups>(): _BSD_SOURCE"
2958 msgstr "B<initgroups>(): _BSD_SOURCE"
2961 #: build/C/man3/initgroups.3:56
2963 "The B<initgroups>() function initializes the group access list by reading "
2964 "the group database I</etc/group> and using all groups of which I<user> is a "
2965 "member. The additional group I<group> is also added to the list."
2967 "B<initgroups>() 関数はグループデータベース I</etc/group> を読み 込んで、"
2968 "I<user> が所属している全てのグループを使って、グループアク セスリストを初期化"
2969 "する。さらに、I<group> に示されるグループもグルー プアクセスリストに追加され"
2973 #: build/C/man3/initgroups.3:60
2974 msgid "The I<user> argument must be non-NULL."
2975 msgstr "I<user> 引数は NULL であってはならない。"
2978 #: build/C/man3/initgroups.3:67
2980 "The B<initgroups>() function returns 0 on success. On error, -1 is "
2981 "returned, and I<errno> is set appropriately."
2983 "B<initgroups>() 関数は、成功すると 0 を返す。 エラーの場合は -1 を返し、 "
2984 "I<errno> を適切に設定する。"
2987 #: build/C/man3/initgroups.3:71
2988 msgid "Insufficient memory to allocate group information structure."
2989 msgstr "グループ情報構造体を配置するためのメモリが不足している。"
2992 #: build/C/man3/initgroups.3:71
2998 #: build/C/man3/initgroups.3:76
3000 "The calling process has insufficient privilege. See the underlying system "
3001 "call B<setgroups>(2)."
3003 "呼出しプロセスが十分な特権を持っていない。 この関数の裏で実行されるシステム"
3004 "コール B<setgroups>(2) も参照のこと。"
3007 #: build/C/man3/initgroups.3:79
3009 msgid "I</etc/group>\t\tgroup database file\n"
3010 msgstr "I</etc/group>\t\tグループデータベースファイル\n"
3013 #: build/C/man3/initgroups.3:82
3014 msgid "SVr4, 4.3BSD."
3015 msgstr "SVr4, 4.3BSD."
3018 #: build/C/man3/initgroups.3:86
3019 msgid "B<getgroups>(2), B<setgroups>(2), B<credentials>(7)"
3020 msgstr "B<getgroups>(2), B<setgroups>(2), B<credentials>(7)"
3023 #: build/C/man5/passwd.5:29
3029 #: build/C/man5/passwd.5:29
3031 #| msgid "2010-02-25"
3036 #: build/C/man5/passwd.5:32
3037 msgid "passwd - password file"
3038 msgstr "passwd - パスワードファイル"
3041 #: build/C/man5/passwd.5:40
3044 #| "B<Passwd> is a text file, that contains a list of the system's accounts, "
3045 #| "giving for each account some useful information like user ID, group ID, "
3046 #| "home directory, shell, etc. Often, it also contains the encrypted "
3047 #| "passwords for each account. It should have general read permission (many "
3048 #| "utilities, like B<ls>(1) use it to map user IDs to usernames), but write "
3049 #| "access only for the superuser."
3051 "The I</etc/passwd> file is a text file that describes user login accounts "
3052 "for the system. It should have read permission allowed for all users (many "
3053 "utilities, like B<ls>(1) use it to map user IDs to usernames), but write "
3054 "access only for the superuser."
3056 "B<passwd> ファイルは、そのシステムのアカウントリストを保持するテキストファイ"
3057 "ルである。 アカウント毎に、ユーザー ID、グループ ID、ホームディレクトリ、 使"
3058 "用する shell コマンドの種類、等の有用な情報を提供している。 また、各アカウン"
3059 "トの暗号化されたパスワードを保持する場合もある。 パスワードファイルのアクセス"
3060 "許可は、全ユーザーに 読み出しの許可を与え (I<ls>(1) 等の多くのユーティリティ"
3061 "ではユーザー ID をユーザー名に 対応させるのに B<passwd> ファイルを使用す"
3062 "る)、 書き込み許可はスーパーユーザーにのみ与えるようにすべきである。"
3065 #: build/C/man5/passwd.5:52
3068 #| "In the good old days there was no great problem with this general read "
3069 #| "permission. Everybody could read the encrypted passwords, but the "
3070 #| "hardware was too slow to crack a well-chosen password, and moreover, the "
3071 #| "basic assumption used to be that of a friendly user-community. These "
3072 #| "days many people run some version of the shadow password suite, where I</"
3073 #| "etc/passwd> has asterisks (*) instead of encrypted passwords, and the "
3074 #| "encrypted passwords are in I</etc/shadow> which is readable by the "
3075 #| "superuser only."
3077 "In the good old days there was no great problem with this general read "
3078 "permission. Everybody could read the encrypted passwords, but the hardware "
3079 "was too slow to crack a well-chosen password, and moreover the basic "
3080 "assumption used to be that of a friendly user-community. These days many "
3081 "people run some version of the shadow password suite, where I</etc/passwd> "
3082 "has an \\(aqx\\(aq character in the password field, and the encrypted "
3083 "passwords are in I</etc/shadow>, which is readable by the superuser only."
3085 "古き良き時代には、この全ユーザーに対する読み取り許可は 特別な問題を起こさな"
3086 "かった。誰でも暗号化されたパスワードを 読むことが出来たが、上手に選ばれたパス"
3087 "ワードを破るのには 当時のハードウェアの速度はあまりに遅かったし、それに加え"
3088 "て 友好的なユーザー社会であることを基本的な前提としていた。 最近では多くの人"
3089 "が、何らかのバージョンの shadow password suite (シャドウ・パスワード機能を実"
3090 "現するためのプログラム群) を動かしている。その場合 I</etc/passwd> ファイルの"
3091 "パスワード欄には、暗号化されたパスワードの代わりに アスタリスク (*) が設定さ"
3092 "れる。暗号化されたパスワードは I</etc/shadow> ファイルに保持される。 I</etc/"
3093 "shadow> ファイルはスーパーユーザーだけが読み出すことができる。"
3096 #: build/C/man5/passwd.5:58
3099 #| "Regardless of whether shadow passwords are used, many sysadmins use an "
3100 #| "asterisk in the encrypted password field to make sure that this user can "
3101 #| "not authenticate him- or herself using a password. (But see the Notes "
3104 "Regardless of whether shadow passwords are used, many system administrators "
3105 "use an asterisk (*) in the encrypted password field to make sure that this "
3106 "user can not authenticate him- or herself using a password. (But see NOTES "
3109 "shadow password が使われているかどうかにはよらず、多くのシステム 管理者は、暗"
3110 "号化パスワード欄にアスタリスクを設定することで、 そのユーザーがパスワードでの"
3111 "認証が受けられないようにしている (下記の「注意」の項を参照)。"
3114 #: build/C/man5/passwd.5:63
3117 #| "If you create a new login, first put an asterisk in the password field, "
3118 #| "then use B<passwd>(1) to set it."
3120 "If you create a new login, first put an asterisk (*) in the password field, "
3121 "then use B<passwd>(1) to set it."
3123 "新しいユーザーを登録する場合には、パスワード欄にアスタリスクを設定しておき "
3124 "B<passwd>(1) コマンドにより設定を行うようにする。"
3127 #: build/C/man5/passwd.5:65
3129 "Each line of the file describes a single user, and has the following format:"
3133 #: build/C/man5/passwd.5:68
3134 msgid "account:password:UID:GID:GECOS:directory:shell"
3135 msgstr "account:password:UID:GID:GECOS:directory:shell"
3138 #: build/C/man5/passwd.5:71
3139 msgid "The field are as follows:"
3143 #: build/C/man5/passwd.5:71
3149 #: build/C/man5/passwd.5:75
3151 "the name of the user on the system. It should not contain capital letters."
3152 msgstr "そのシステムでのユーザー名。大文字を含まないようにする。"
3155 #: build/C/man5/passwd.5:81
3157 "the encrypted user password, an asterisk (*), or the letter \\(aqx\\(aq. "
3158 "(See B<pwconv>(8) for an explanation of \\(aqx\\(aq.)"
3160 "ユーザーの暗号化されたパスワード、アスタリスク、または文字 \\(aqx\\(aq "
3161 "(\\(aqx\\(aq の説明については B<pwconv>(8) を参照)。"
3164 #: build/C/man5/passwd.5:81
3170 #: build/C/man5/passwd.5:84
3172 #| msgid "the numerical user ID."
3173 msgid "the numeric user ID."
3174 msgstr "ユーザー ID 番号。"
3177 #: build/C/man5/passwd.5:87
3179 #| msgid "the numerical primary group ID for this user."
3180 msgid "the numeric primary group ID for this user."
3181 msgstr "ユーザーが属するプライマリグループ ID 番号。"
3184 #: build/C/man5/passwd.5:87
3190 #: build/C/man5/passwd.5:99
3193 #| "This field is optional and only used for informational purposes. "
3194 #| "Usually, it contains the full username. GECOS means General Electric "
3195 #| "Comprehensive Operating System, which has been renamed to GCOS when GE's "
3196 #| "large systems division was sold to Honeywell. Dennis Ritchie has "
3197 #| "reported: \"Sometimes we sent printer output or batch jobs to the GCOS "
3198 #| "machine. The gcos field in the password file was a place to stash the "
3199 #| "information for the $IDENTcard. Not elegant.\""
3201 "This field is optional and used only for informational purposes. Usually, "
3202 "it contains the full username. GECOS stands for \"General Electric "
3203 "Comprehensive Operating System\", which was renamed to GCOS when GE's large "
3204 "systems division was sold to Honeywell. Dennis Ritchie has reported: "
3205 "\"Sometimes we sent printer output or batch jobs to the GCOS machine. The "
3206 "gcos field in the password file was a place to stash the information for the "
3207 "$IDENTcard. Not elegant.\""
3209 "本欄は省略可能で、情報提供の目的のみに使われる。 ユーザーのフルネームを設定す"
3210 "ることが多い。GECOS は General Electric Comprehensive Operating System を意味"
3211 "しており、GE 社の大規模システム部門 が Honeywell 社に売却された際に GCOS へと"
3212 "変更された。Dennis Ritchie 氏は 次のように言っている:「時々プリンタ出力や、 "
3213 "バッチジョブを GCOS マシンに送ったりするが、 パスワードファイルの gcos 欄は "
3214 "$IDENT カード用の情報を 隠しておくための場所なんだ。まるっきりエレガントじゃ"
3218 #: build/C/man5/passwd.5:99
3220 msgid "I<directory>"
3221 msgstr "I<directory>"
3224 #: build/C/man5/passwd.5:104
3225 msgid "the user's B<$HOME> directory."
3226 msgstr "ユーザーの B<$HOME> ディレクトリ。"
3229 #: build/C/man5/passwd.5:104
3235 #: build/C/man5/passwd.5:111
3237 "the program to run at login (if empty, use I</bin/sh>). If set to a "
3238 "nonexistent executable, the user will be unable to login through B<login>(1)."
3240 "ログイン時に動くプログラム名 (空欄の場合 I</bin/sh> が使われる)。 存在しない"
3241 "実行プログラムが設定された場合、 B<login>(1) によるシステムへのログインはで"
3245 #: build/C/man5/passwd.5:117
3248 #| "If you want to create user groups, their GIDs must be equal and there "
3249 #| "must be an entry in I</etc/group>, or no group will exist."
3251 "If you want to create user groups, there must be an entry in I</etc/group>, "
3252 "or no group will exist."
3254 "ユーザーグループを作りたい場合には、同じグループに属する ユーザーの GID は同"
3255 "じ値とし、その GID を I</etc/group> の中に 定義しておく必要がある。そうしない"
3256 "とグループを作ったことにはならない。"
3259 #: build/C/man5/passwd.5:131
3262 #| "If the encrypted password is set to an asterisk, the user will be unable "
3263 #| "to login using B<login>(1), but may still login using B<rlogin>(1), run "
3264 #| "existing processes and initiate new ones through B<rsh>(1), B<cron>(8), "
3265 #| "B<at>(1), or mail filters, etc. Trying to lock an account by simply "
3266 #| "changing the shell field yields the same result and additionally allows "
3267 #| "the use of B<su>(1)."
3269 "If the encrypted password is set to an asterisk (*), the user will be unable "
3270 "to login using B<login>(1), but may still login using B<rlogin>(1), run "
3271 "existing processes and initiate new ones through B<rsh>(1), B<cron>(8), B<at>"
3272 "(1), or mail filters, etc. Trying to lock an account by simply changing the "
3273 "shell field yields the same result and additionally allows the use of B<su>"
3276 "暗号化パスワードとしてアスタリスクを設定すると、 B<login>(1) を使ってのログ"
3277 "インができなくなるが、 B<rlogin>(1) ではまだログインができるし、 B<rsh>(1), "
3278 "B<cron>(8), B<at>(1) やメイルのフィルタ等を使い、現存するプロセスを 実行させ"
3279 "たり、新たなプロセスを起動したりすることができる。 使用する shell の欄を、単"
3280 "に変更することでアカウントを 使えないようにするのも同様の結果となる。その場合"
3281 "にはさらに B<su>(1) も有効なまま残ってしまう。"
3284 #: build/C/man5/passwd.5:139
3286 "B<login>(1), B<passwd>(1), B<su>(1), B<getpwent>(3), B<getpwnam>(3), B<group>"
3289 "B<login>(1), B<passwd>(1), B<su>(1), B<getpwent>(3), B<getpwnam>(3), B<group>"
3293 #: build/C/man3/putgrent.3:4
3299 #: build/C/man3/putgrent.3:4 build/C/man3/setaliasent.3:6
3305 #: build/C/man3/putgrent.3:7
3306 msgid "putgrent - write a group database entry to a file"
3307 msgstr "putgrent - グループデータベースエントリをファイルに書き込む"
3310 #: build/C/man3/putgrent.3:9
3311 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
3312 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
3315 #: build/C/man3/putgrent.3:13
3316 msgid "B<int putgrent(const struct group *>I<grp>B<, FILE *>I<fp>B<);>"
3317 msgstr "B<int putgrent(const struct group *>I<grp>B<, FILE *>I<fp>B<);>"
3320 #: build/C/man3/putgrent.3:22
3322 "The B<putgrent>() function is the counterpart for B<fgetgrent>(3). The "
3323 "function writes the content of the provided I<struct group> into the file "
3324 "pointed to by I<fp>. The list of group members must be NULL-terminated or "
3327 "B<putgrent>() 関数は B<fgetgrent>(3) の逆である。 この関数は与えられた "
3328 "I<struct group> を I<fp> で指されるファイルに書き込む。 グループメンバのリス"
3329 "トは、NULL で終端されるか、 NULL で初期化されなければならない。"
3332 #: build/C/man3/putgrent.3:24
3333 msgid "The I<struct group> is defined as follows:"
3334 msgstr "I<struct group> は以下のように定義される:"
3337 #: build/C/man3/putgrent.3:33
3341 " char *gr_name; /* group name */\n"
3342 " char *gr_passwd; /* group password */\n"
3343 " gid_t gr_gid; /* group ID */\n"
3344 " char **gr_mem; /* group members */\n"
3348 " char *gr_name; /* グループ名 */\n"
3349 " char *gr_passwd; /* グループパスワード */\n"
3350 " gid_t gr_gid; /* グループ ID */\n"
3351 " char **gr_mem; /* グループメンバ */\n"
3355 #: build/C/man3/putgrent.3:37
3356 msgid "The function returns zero on success, and a nonzero value on error."
3357 msgstr "この関数は、成功した場合は 0 を返し、エラーの場合は 0 以外の値を返す。"
3360 #: build/C/man3/putgrent.3:39
3361 msgid "This function is a GNU extension."
3362 msgstr "この関数は GNU による拡張である。"
3365 #: build/C/man3/putgrent.3:43
3366 msgid "B<fgetgrent>(3), B<getgrent>(3), B<group>(5)"
3367 msgstr "B<fgetgrent>(3), B<getgrent>(3), B<group>(5)"
3370 #: build/C/man3/putpwent.3:28
3376 #: build/C/man3/putpwent.3:31
3377 msgid "putpwent - write a password file entry"
3378 msgstr "putpwent - パスワードファイルエントリの書き込み"
3381 #: build/C/man3/putpwent.3:38
3383 msgid "B<int putpwent(const struct passwd *>I<p>B<, FILE *>I<stream>B<);>\n"
3384 msgstr "B<int putpwent(const struct passwd *>I<p>B<, FILE *>I<stream>B<);>\n"
3387 #: build/C/man3/putpwent.3:47
3388 msgid "B<putpwent>(): _SVID_SOURCE"
3389 msgstr "B<putpwent>(): _SVID_SOURCE"
3392 #: build/C/man3/putpwent.3:52
3394 "The B<putpwent>() function writes a password entry from the structure I<p> "
3395 "in the file associated with I<stream>."
3397 "B<putpwent>() 関数は、構造体 I<p> からのパスワードエントリを I<stream> に結"
3401 #: build/C/man3/putpwent.3:66
3405 " char *pw_name; /* username */\n"
3406 " char *pw_passwd; /* user password */\n"
3407 " uid_t pw_uid; /* user ID */\n"
3408 " gid_t pw_gid; /* group ID */\n"
3409 " char *pw_gecos; /* real name */\n"
3410 " char *pw_dir; /* home directory */\n"
3411 " char *pw_shell; /* shell program */\n"
3415 " char *pw_name; /* ユーザ名 */\n"
3416 " char *pw_passwd; /* ユーザのパスワード */\n"
3417 " uid_t pw_uid; /* ユーザ ID */\n"
3418 " gid_t pw_gid; /* グループ ID */\n"
3419 " char *pw_gecos; /* 本名 */\n"
3420 " char *pw_dir; /* ホームディレクトリ */\n"
3421 " char *pw_shell; /* シェルプログラム */\n"
3425 #: build/C/man3/putpwent.3:73
3427 "The B<putpwent>() function returns 0 on success, or -1 if an error occurs."
3429 "B<putpwent>() 関数は、成功した場合は 0 を、エラーが発生した場合は -1 を返"
3433 #: build/C/man3/putpwent.3:77
3434 msgid "Invalid (NULL) argument given."
3435 msgstr "無効な(NULL)引数が渡された。"
3438 #: build/C/man3/putpwent.3:87
3440 "B<endpwent>(3), B<fgetpwent>(3), B<getpw>(3), B<getpwent>(3), B<getpwnam>"
3441 "(3), B<getpwuid>(3), B<setpwent>(3)"
3443 "B<endpwent>(3), B<fgetpwent>(3), B<getpw>(3), B<getpwent>(3), B<getpwnam>"
3444 "(3), B<getpwuid>(3), B<setpwent>(3)"
3447 #: build/C/man3/setaliasent.3:6
3450 msgstr "SETALIASENT"
3453 #: build/C/man3/setaliasent.3:10
3455 "setaliasent, endaliasent, getaliasent, getaliasent_r, getaliasbyname, "
3456 "getaliasbyname_r - read an alias entry"
3458 "setaliasent, endaliasent, getaliasent, getaliasent_r, getaliasbyname, "
3459 "getaliasbyname_r - エイリアスエントリを読み込む"
3462 #: build/C/man3/setaliasent.3:12
3463 msgid "B<#include E<lt>aliases.hE<gt>>"
3464 msgstr "B<#include E<lt>aliases.hE<gt>>"
3467 #: build/C/man3/setaliasent.3:14
3468 msgid "B<void setaliasent(void);>"
3469 msgstr "B<void setaliasent(void);>"
3472 #: build/C/man3/setaliasent.3:16
3473 msgid "B<void endaliasent(void);>"
3474 msgstr "B<void endaliasent(void);>"
3477 #: build/C/man3/setaliasent.3:18
3478 msgid "B<struct aliasent *getaliasent(void);>"
3479 msgstr "B<struct aliasent *getaliasent(void);>"
3482 #: build/C/man3/setaliasent.3:20
3483 msgid "B<int getaliasent_r(struct aliasent *>I<result>B<,>"
3484 msgstr "B<int getaliasent_r(struct aliasent *>I<result>B<,>"
3487 #: build/C/man3/setaliasent.3:22 build/C/man3/setaliasent.3:28
3489 "B< char *>I<buffer>B<, size_t >I<buflen>B<, struct aliasent **>I<res>B<);>"
3491 "B< char *>I<buffer>B<, size_t >I<buflen>B<, struct aliasent **>I<res>B<);>"
3494 #: build/C/man3/setaliasent.3:24
3495 msgid "B<struct aliasent *getaliasbyname(const char *>I<name>B<);>"
3496 msgstr "B<struct aliasent *getaliasbyname(const char *>I<name>B<);>"
3499 #: build/C/man3/setaliasent.3:26
3501 "B<int getaliasbyname_r(const char *>I<name>B<, struct aliasent *>I<result>B<,"
3504 "B<int getaliasbyname_r(const char *>I<name>B<, struct aliasent *>I<result>B<,"
3508 #: build/C/man3/setaliasent.3:33
3510 "One of the databases available with the Name Service Switch (NSS) is the "
3511 "aliases database, that contains mail aliases. (To find out which databases "
3512 "are supported, try I<getent --help>.) Six functions are provided to access "
3513 "the aliases database."
3515 "ネームサービススイッチ (Name Service Switch, NSS) で 利用可能なデータベース"
3516 "の 1 つとして、 メールエイリアスを保持するエイリアスデータベースがある。 (ど"
3517 "のデータベースがサポートされているかを調べるには、 getent --help を実行するこ"
3518 "と。) エイリアスデータベースにアクセスするために、 6 つの関数が提供されてい"
3522 #: build/C/man3/setaliasent.3:40
3524 "The B<getaliasent>() function returns a pointer to a structure containing "
3525 "the group information from the aliases database. The first time it is "
3526 "called it returns the first entry; thereafter, it returns successive entries."
3528 "B<getaliasent>() 関数はエイリアスデータベースから取り出した グループ情報を含"
3529 "む構造体へのポインタを返す。 1 回目に関数が呼ばれたときには、最初のエントリを"
3530 "返す; それ以降はその後のエントリを返す。"
3533 #: build/C/man3/setaliasent.3:45
3535 "The B<setaliasent>() function rewinds the file pointer to the beginning of "
3536 "the aliases database."
3538 "B<setaliasent>() 関数はファイルポインタをエイリアスデータベースの先頭に巻き"
3542 #: build/C/man3/setaliasent.3:49
3543 msgid "The B<endaliasent>() function closes the aliases database."
3544 msgstr "B<endaliasent>() 関数はエイリアスデータベースをクローズする。"
3547 #: build/C/man3/setaliasent.3:56
3549 "B<getaliasent_r>() is the reentrant version of the previous function. The "
3550 "requested structure is stored via the first argument but the programmer "
3551 "needs to fill the other arguments also. Not providing enough space causes "
3552 "the function to fail."
3554 "B<getaliasent_r>() 関数は上記の関数のリエントラント版である。 要求された構造"
3555 "体は第 1 引き数に格納されるが、 プログラマは他の引き数も埋めてやる必要があ"
3556 "る。 充分な領域が与えられないと、この関数は失敗する。"
3559 #: build/C/man3/setaliasent.3:62
3561 "The function B<getaliasbyname>() takes the name argument and searches the "
3562 "aliases database. The entry is returned as a pointer to a I<struct "
3565 "関数 B<getaliasbyname>() は name 引き数をとり、エイリアスデータベースを検索"
3566 "する。 エントリは I<struct aliasent> へのポインタとして返される。"
3569 #: build/C/man3/setaliasent.3:69
3571 "B<getaliasbyname_r>() is the reentrant version of the previous function. "
3572 "The requested structure is stored via the second argument but the programmer "
3573 "needs to fill the other arguments also. Not providing enough space causes "
3574 "the function to fail."
3576 "B<getaliasbyname_r>() は上記の関数のリエントラント版である。 要求された構造"
3577 "体は第 2 引き数に格納されるが、 プログラマは他の引き数も埋めてやる必要があ"
3578 "る。 充分な領域が与えられないと、この関数は失敗する。"
3581 #: build/C/man3/setaliasent.3:74
3582 msgid "The I<struct aliasent> is defined in I<E<lt>aliases.hE<gt>>:"
3583 msgstr "I<struct aliasent> は I<E<lt>aliases.hE<gt>> で定義されている。"
3586 #: build/C/man3/setaliasent.3:83
3589 "struct aliasent {\n"
3590 " char *alias_name; /* alias name */\n"
3591 " size_t alias_members_len;\n"
3592 " char **alias_members; /* alias name list */\n"
3593 " int alias_local;\n"
3596 "struct aliasent {\n"
3597 " char *alias_name; /* エイリアス名 */\n"
3598 " size_t alias_members_len;\n"
3599 " char **alias_members; /* エイリアス名のリスト */\n"
3600 " int alias_local;\n"
3604 #: build/C/man3/setaliasent.3:91
3606 "The functions B<getaliasent_r>() and B<getaliasbyname_r>() return a "
3607 "nonzero value on error."
3609 "関数 B<getaliasent_r>() と B<getaliasbyname_r>() は、エラーの場合に 0 以外"
3613 #: build/C/man3/setaliasent.3:97
3615 "The default alias database is the file I</etc/aliases>. This can be changed "
3616 "in the I</etc/nsswitch.conf> file."
3618 "デフォルトのエイリアスデータベースは、ファイル I</etc/aliases> である。 これ"
3619 "は I</etc/nsswitch.conf> ファイルで変更できる。"
3622 #: build/C/man3/setaliasent.3:100
3624 "These routines are glibc-specific. The NeXT system has similar routines:"
3626 "このルーチンは glibc 固有のものである。 NeXT システムには同様のルーチンがあ"
3630 #: build/C/man3/setaliasent.3:104
3632 msgid "#include E<lt>aliasdb.hE<gt>\n"
3633 msgstr "#include E<lt>aliasdb.hE<gt>\n"
3636 #: build/C/man3/setaliasent.3:109
3639 "void alias_setent(void);\n"
3640 "void alias_endent(void);\n"
3641 "alias_ent *alias_getent(void);\n"
3642 "alias_ent *alias_getbyname(char *name);\n"
3644 "void alias_setent(void);\n"
3645 "void alias_endent(void);\n"
3646 "alias_ent *alias_getent(void);\n"
3647 "alias_ent *alias_getbyname(char *name);\n"
3650 #: build/C/man3/setaliasent.3:115
3652 "The following example compiles with I<gcc example.c -o example>. It will "
3653 "dump all names in the alias database."
3655 "以下の例は I<gcc example.c -o example> でコンパイルできる。 これはエイリアス"
3656 "データベースにある全ての名前をダンプする。"
3659 #: build/C/man3/setaliasent.3:121
3662 "#include E<lt>aliases.hE<gt>\n"
3663 "#include E<lt>stdio.hE<gt>\n"
3664 "#include E<lt>stdlib.hE<gt>\n"
3665 "#include E<lt>errno.hE<gt>\n"
3667 "#include E<lt>aliases.hE<gt>\n"
3668 "#include E<lt>stdio.hE<gt>\n"
3669 "#include E<lt>stdlib.hE<gt>\n"
3670 "#include E<lt>errno.hE<gt>\n"
3673 #: build/C/man3/setaliasent.3:140
3679 " struct aliasent *al;\n"
3682 " al = getaliasent();\n"
3683 " if (al == NULL)\n"
3685 " printf(\"Name: %s\\en\", al-E<gt>alias_name);\n"
3688 " perror(\"reading alias\");\n"
3689 " exit(EXIT_FAILURE);\n"
3692 " exit(EXIT_SUCCESS);\n"
3698 " struct aliasent *al;\n"
3701 " al = getaliasent();\n"
3702 " if (al == NULL)\n"
3704 " printf(\"Name: %s\\en\", al-E<gt>alias_name);\n"
3707 " perror(\"reading alias\");\n"
3708 " exit(EXIT_FAILURE);\n"
3711 " exit(EXIT_SUCCESS);\n"
3713 #. /etc/sendmail/aliases
3715 #. newaliases, postalias
3717 #: build/C/man3/setaliasent.3:150
3718 msgid "B<getgrent>(3), B<getpwent>(3), B<getspent>(3), B<aliases>(5)"
3719 msgstr "B<getgrent>(3), B<getpwent>(3), B<getspent>(3), B<aliases>(5)"
3721 #~ msgid "2009-03-30"
3722 #~ msgstr "2009-03-30"
3724 #~ msgid "2009-10-17"
3725 #~ msgstr "2009-10-17"
3727 #~ msgid "The field descriptions are:"
3728 #~ msgstr "フィールドの説明:"
3731 #~ msgstr "password"
3736 #~ msgid "1998-01-05"
3737 #~ msgstr "1998-01-05"
3739 #~ msgid "There is one entry per line, and each line has the format:"
3741 #~ "パスワードファイルは 1 行ごとに 1 エントリを持ち、 各行の書式は以下の通り"