¸ðµç°ÍÀÌ Àß µÇ¾ú´Ù¸é(²À ±×·¡¾ß µÇ´Â °Íó·³), ¿©·¯ºÐÀº °£´ÜÇÑ ¸í·ÉÀ¸·Î ¿©·¯ºÐ ÀÇ ÀνºÅçÀ» ÇÑ°ÍÀ» °ËÁõÇÒ ¼ö ÀÖ¾î¾ßÇÑ´Ù. ¿¹¸¦ µé¾î, ¿©·¯ºÐÀÇ passwdÆÄÀÏÀÌ NIS¿¡ ÀÇÇØ Á¦°øµÈ´Ù°í °¡Á¤ÇÏ°í ¸í·É¾îÀÎ
% ypcat passwd
´Â NIS passwd ÆÄÀÏÀÇ ³»¿ëÀ» Á¦°øÇØ Áà¾ß ÇÑ´Ù. ¸í·É¾îÀÎ
% ypmatch userid passwd
(userid´Â ¾î¶² À¯ÀúÀÇ ·Î±ä À̸§ÀÌ´Ù.)Àº NIS Æнº¿öµå ÆÄÀÏ¿¡ ÀÖ´Â À¯ÀúµéÀÇ ¿£Æ®¸®¸¦ Á¦°øÇØ ÁÖ¾î¾ß ÇÑ´Ù. "ypcat"°ú "ypmatch" ÇÁ·Î±×·¥Àº ¿©·¯ºÐÀÇ ÀüÅë ÀûÀÎ NIS ȤÀº NYS¹èÆ÷ÆÇ¿¡ Æ÷ÇԵǾî ÀÖ´Ù.
¸¸¾à ¾î¶² À¯Àú°¡ ·Î±ä ÇÒ ¼ö ¾øÀ» °æ¿ì, ´ÙÀ½°ú °°Àº ÇÁ·Î±×·¥À» Ŭ¶óÀ̾ðÆ®¿¡ ¼ ½ÇÇà½ÃÄÑ º¸¶ó.
#include <stdio.h>
#include <pwd.h>
#include <sys/types.h>
int
main(int argc, char *argv[])
{
struct passwd *pwd;
if(argc != 2)
{
fprintf(stderr,"Useage: getwpnam username\n");
exit(1);
}
pwd=getpwnam(argv[1]);
if(pwd != NULL)
{
printf("name.....: [%s]\n",pwd->pw_name);
printf("password.: [%s]\n",pwd->pw_passwd);
printf("user id..: [%s]\n",pwd->pw_uid);
printf("group id.: [%s]\n",pwd->pw_gid);
printf("gecos....: [%s]\n",pwd->pw_gecos);
printf("directory: [%s]\n",pwd->pw_dir);
printf("shell....: [%s]\n",pwd->pw_shell);
}
else
fprintf(stderr,"User \"%s\" not found!\n",argv[1]);
exit(0);
}
À¯Àú À̸§ÀÇ ÆĶó¹ÌÅÍ¿Í ÇÔ²² ÀÌ ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ°¸é, ÀÌ À¯Àú¿¡ ´ëÇÑ getpw
namÇÔ¼ö°¡ ¾Ë·ÁÁÙ ¼ö ÀÖ´Â ¸ðµç Á¤º¸µéÀ» Ãâ·ÂÇÑ´Ù. ÀÌ°ÍÀº ¿©·¯ºÐ¿¡°Ô ¾î¶² ¿£
Æ®¸®°¡ À߸ø µÇ¾ú´ÂÁö ¾Ë·ÁÁÙ °ÍÀÌ´Ù. °¡Àå ÀϹÝÀûÀÎ ¹®Á¦´Â, Æнº¿öµå Çʵ尡
"*"¿Í ÇÔ²² Áߺ¹µÈ °æ¿ìÀÌ´Ù.
GNU C ¶óÀ̺귯¸® 2.1 (glibc 2.1)ÀÌ getent¶ó°í ºÒ¸®´Â Åø°ú °°ÀÌ ³ª¿Â´Ù. ¾Æ ±î °°Àº ¹®Á¦°¡ ÀÖ´ø ½Ã½ºÅÛ¿¡¼ À§ÀÇ °Í ´ë½Å ÀÌ ÇÁ·Î±×·¥À» »ç¿ëÇ϶ó. ´ÙÀ½°ú °°ÀÌ ÇÒ ¼ö ÀÖ´Ù.
getent passwd
ȤÀº
getent passwd login