Rechercher une page de manuel
getpwnam
Langue: ja
Version: 1996-05-27 (openSuse - 09/10/07)
Section: 3 (Bibliothèques de fonctions)
̾Á°
getpwnam, getpwnam_r, getpwuid, getpwuid_r - ¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥È¥ê¤Î¼èÆÀ½ñ¼°
#include <sys/types.h> #include <pwd.h> struct passwd *getpwnam(const char *name); struct passwd *getpwuid(uid_t uid); int getpwnam_r(const char *name, struct passwd *pwbuf,
char *buf, size_t buflen, struct passwd **pwbufp); int getpwuid_r(uid_t uid, struct passwd *pwbuf,
char *buf, size_t buflen, struct passwd **pwbufp);
ÀâÌÀ
getpwnam() ´Ø¿ô¤Ï¡¢¥æ¡¼¥¶Ì¾ name ¤Ë¥Þ¥Ã¥Á¤¹¤ë¥Ñ¥¹¥ï¡¼¥É¡¦¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥¨¥ó¥È¥ê¤ò Í×ÁÇËè¤Ëʬ²ò¤·¡¢³ÆÍ×ÁǤò³ÊǼ¤·¤¿¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤òÊÖ¤¹ (¥Ñ¥¹¥ï¡¼¥É¡¦¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÎã: ¥í¡¼¥«¥ë¤Î¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë /etc/passwd, NIS, LDAP)¡£getpwuid() ´Ø¿ô¤Ï¡¢¥æ¡¼¥¶ ID uid ¤Ë¥Þ¥Ã¥Á¤¹¤ë¥Ñ¥¹¥ï¡¼¥É¡¦¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥¨¥ó¥È¥ê¤ò Í×ÁÇËè¤Ëʬ²ò¤·¡¢³ÆÍ×ÁǤò³ÊǼ¤·¤¿¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤òÊÖ¤¹¡£
getpwnam_r() ¤È getpwuid_r() ´Ø¿ô¤Ï (¾åµ¤Î´Ø¿ô¤È) Ʊ¤¸¾ðÊó¤ò¼èÆÀ¤¹¤ë¤¬¡¢ ¼èÆÀ¤·¤¿ passwd ¹½Â¤ÂΤò pwbuf ¤¬»Ø¤¹Îΰè¤Ë³ÊǼ¤¹¤ë¡£ ¤³¤Î passwd ¹½Â¤ÂΤˤÏʸ»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤¬´Þ¤Þ¤ì¡¢ ¤³¤ì¤é¤Îʸ»úÎó¤Ï¥µ¥¤¥º buflen ¤Î¥Ð¥Ã¥Õ¥¡ buf ¤Ë³ÊǼ¤µ¤ì¤ë¡£ À®¸ù¤·¤¿¾ì¹ç *pwbufp ¤Ë¤Ï·ë²Ì¤Ø¤Î¥Ý¥¤¥ó¥¿¤¬³ÊǼ¤µ¤ì¤ë¡£ ¥¨¥ó¥È¥ê¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤ä¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤Ë¤Ï *pwbufp ¤Ë¤Ï NULL ¤¬Æþ¤ë¡£
passwd ¹½Â¤ÂΤϡ¢<pwd.h> ¤Ç°Ê²¼¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë:
-
struct passwd { char *pw_name; /* ¥æ¡¼¥¶Ì¾ */ char *pw_passwd; /* ¥æ¡¼¥¶¤Î¥Ñ¥¹¥ï¡¼¥É */ uid_t pw_uid; /* ¥æ¡¼¥¶ ID */ gid_t pw_gid; /* ¥°¥ë¡¼¥× ID */ char *pw_gecos; /* ¼Â̾ */ char *pw_dir; /* ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê */ char *pw_shell; /* ¥·¥§¥ë¥×¥í¥°¥é¥à */ };
buf ¤ËºÇÂçɬÍפʥµ¥¤¥º¤Ï¡¢ sysconf(3) ¤Ë°ú¤¿ô _SC_GETPW_R_SIZE_MAX ¤ò»ØÄꤷ¤Æ¼Â¹Ô¤¹¤ë¤³¤È¤Çʬ¤«¤ë¡£
ÊÖ¤êÃÍ
getpwnam() ¤È getpwuid() ´Ø¿ô¤Ï¡¢ passwd ¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤òÊÖ¤¹¡£ °ìÃפ¹¤ë¥¨¥ó¥È¥ê¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤ä¡¢¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤Ï NULL ¤òÊÖ¤¹¡£ ¥¨¥é¡¼¤¬µ¯¤³¤Ã¤¿¾ì¹ç¡¢ errno ¤¬Å¬ÀÚ¤ËÀßÄꤵ¤ì¤ë¡£ ¸Æ¤Ó½Ð¤·¤Î¸å¤Ç errno ¤ò¥Á¥§¥Ã¥¯¤·¤¿¤¤¾ì¹ç¤Ï¡¢ ¸Æ¤Ó½Ð¤·¤ÎÁ°¤Ë (¤³¤ÎÃͤò) 0 ¤ËÀßÄꤷ¤Æ¤ª¤¯¤Ù¤¤Ç¤¢¤ë¡£ÊÖ¤êÃͤÏÀÅŪ¤ÊÎΰè¤ò»Ø¤·¤Æ¤ª¤ê¡¢¤½¤Î¸å¤Î getpwent(3), getpwnam(), getpwuid() ¤Î¸Æ¤Ó½Ð¤·¤Ç¾å½ñ¤¤µ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
getpwnam_r() ¤È getpwuid_r() ´Ø¿ô¤Ï¡¢ À®¸ù¤·¤¿¾ì¹ç¤Ë 0 ¤òÊÖ¤¹¡£ ¥¨¥é¡¼¤Î¾ì¹ç¤Ï¡¢¥¨¥é¡¼Èֹ椬ÊÖ¤µ¤ì¤ë¡£
¥¨¥é¡¼
- 0 ¤Þ¤¿¤Ï ENOENT ¤Þ¤¿¤Ï ESRCH ¤Þ¤¿¤Ï EBADF ¤Þ¤¿¤Ï EPERM ¤Þ¤¿¤Ï ...
- »ØÄꤵ¤ì¤¿ name ¤Þ¤¿¤Ï uid ¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¡£
- EINTR
- ¥·¥°¥Ê¥ë¤¬¥¥ã¥Ã¥Á¤µ¤ì¤¿¡£
- EIO
- I/O ¥¨¥é¡¼¡£
- EMFILE
- ¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤Ë¤ª¤¤¤Æ¡¢ ´û¤ËºÇÂç¿ô (OPEN_MAX) ¤Î¥Õ¥¡¥¤¥ë¤¬¥ª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤ë¡£
- ENFILE
- ¥·¥¹¥Æ¥à¾å¤Ç´û¤ËºÇÂç¿ô¤Î¥Õ¥¡¥¤¥ë¤¬¥ª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤ë¡£
- ENOMEM
- passwd ¹½Â¤ÂΤò³ä¤êÅö¤Æ¤ë¤¿¤á¤Î¥á¥â¥ê¤¬ÉÔ½½Ê¬¡£
- ERANGE
- Í¿¤¨¤é¤ì¤¿¥Ð¥Ã¥Õ¥¡¶õ´Ö¤¬ÉÔ½½Ê¬¤Ç¤¢¤ë¡£
¥Õ¥¡¥¤¥ë
- /etc/passwd
- ¥í¡¼¥«¥ë¤Î¥Ñ¥¹¥ï¡¼¥É¡¦¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë
½àµò
SVr4, 4.3BSD, POSIX.1-2001Ãí°Õ
¾åµ¤Î¡ÖÊÖ¤êÃ͡װʲ¼¤Îµ½Ò¤Ï POSIX.1-2001 ¤Ëµò¤ë¡£ ¤³¤Îɸ½à¤Ï¡Ö(¥¨¥ó¥È¥ê¤¬) ¸«¤Ä¤«¤é¤Ê¤¤¤³¤È¡×¤ò¥¨¥é¡¼¤È¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢ ¤½¤Î¤è¤¦¤Ê¾ì¹ç¤Ë errno ¤¬¤É¤Î¤è¤¦¤ÊÃͤˤʤ뤫¤òÄê¤á¤Æ¤¤¤Ê¤¤¡£ ¤½¤Î¤¿¤á¡¢¥¨¥é¡¼¤òǧ¼±¤¹¤ë¤³¤È¤ÏÉÔ²Äǽ¤Ç¤¢¤ë¡£ POSIX ¤Ë½àµò¤·¤Æ¡¢¥¨¥ó¥È¥ê¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤Ï errno ¤òÊѹ¹¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤Ù¤¤Ç¤¢¤ë¡¢¤È¼çÄ¥¤¹¤ë¿Í¤â¤¤¤ë¤«¤â¤·¤ì¤Ê¤¤¡£ ÍÍ¡¹¤Ê Unix ·Ï¤Î¥·¥¹¥Æ¥à¤Ç»î¤·¤Æ¤ß¤ë¤È¡¢¤½¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM ¤È¤¤¤Ã¤¿ÍÍ¡¹¤ÊÃͤ¬ÊÖ¤µ¤ì¤ë¡£ ¾¤ÎÃͤ¬ÊÖ¤µ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¡£¥Õ¥£¡¼¥ë¥É pw_dir ¤Ë¤Ï¡¢¥æ¡¼¥¶¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê̾¤Î½é´üÃͤ¬³ÊǼ¤µ¤ì¤ë¡£ ¥í¥°¥¤¥ó¥×¥í¥»¥¹¤Ï¡¢¤³¤Î¥Õ¥£¡¼¥ë¥É¤ÎÃͤò»È¤Ã¤Æ¡¢ ¥í¥°¥¤¥ó¥·¥§¥ë¤Î HOME ´Ä¶ÊÑ¿ô¤ò½é´ü²½¤¹¤ë¡£ ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¡¢¥æ¡¼¥¶¤Î¥Û¡¼¥à¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ò·èÄꤹ¤ë¾ì¹ç¤Ë¤Ï¡¢ (getpwuid(getuid())->pw_dir ¤ÎÃͤǤϤʤ¯) HOME ¤ÎÃͤò¸¡ºº¤¹¤ë¤è¤¦¤Ë¤¹¤Ù¤¤Ç¤¢¤ë¡£ ¤Ê¤¼¤Ê¤é¡¢¤³¤Î¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç¡¢¥æ¡¼¥¶¤¬¥í¥°¥¤¥ó¡¦¥»¥Ã¥·¥ç¥óÃæ¤Ç ¡Ö¥Û¡¼¥à¡¦¥Ç¥£¥ì¥¯¥È¥ê¡×¤Î°ÕÌ£¤òÊѹ¹¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ë¤«¤é¤Ç¤¢¤ë¡£ Ê̤Υ桼¥¶¤Î¥Û¡¼¥à¡¦¥Ç¥£¥ì¥¯¥È¥ê (¤Î½é´üÃÍ) ¤òÃΤë¤Ë¤Ï getpwnam(username)->pw_dir ¤«Æ±ÍͤÎÊýË¡¤ò»È¤¦É¬Íפ¬¤¢¤ë¡£
´ØÏ¢¹àÌÜ
endpwent(3), fgetpwent(3), getgrnam(3), getpw(3), getpwent(3), putpwent(3), setpwent(3), passwd(5)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre