getpwuid(3)
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.
<a href="/modules/moniwiki/wiki.php/manSearch?google=none&name=getpwuid">getpwuid</a>(3)

1장. getpwuid(2)

차례
1.1절. »ç¿ë¹ý
1.2절. ¼³¸í
1.3절. ¹Ýȯ°ª
1.4절. ¿¡·¯
1.5절. ¿¹Á¦

ÆÐ½º¿öµå ÆÄÀÏ ¿£Æ®¸®¸¦ UID ¸¦ ÀÌ¿ëÇØ¼­ °¡Á®¿Â´Ù.


1.1절. »ç¿ë¹ý

#include <sys/types.h>
#include <pwd.h>

struct passwd *getpwuid(uid_t uid);
		


1.2절. ¼³¸í

»ç¿ëÀÚ UID ¿Í ÀÏÄ¡ÇÏ´Â ¿£Æ®¸®¸¦ /etc/passwd ¿¡¼­ °¡Á®¿À°í °¢ ÇʵåÀÇ ³»¿ëÀ» ºÐ¸®Çؼ­ passwd ±¸Á¶Ã¼¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ ÅëÇØ¼­ ¹ÝȯÇÑ´Ù.

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;      /* shell ÇÁ·Î±×·¥ */
};
		


1.3절. ¹Ýȯ°ª

passwd ±¸Á¶Ã¼¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ ¹ÝȯÇϰųª ÀÏÄ¡ÇÏ´Â ¿£Æ®¸®°¡ ¹ß°ßµÇÁö ¾ÊÀ»°æ¿ì ȤÀº ¿¡·¯°¡ ¹ß»ýÇßÀ»°æ¿ì NULL À» ¹ÝȯÇÑ´Ù.


1.4절. ¿¡·¯

ENOMEM

ÆÐ½º¿öµå ±¸Á¶Ã¼¸¦ ÇÒ´çÇÒ ¸Þ¸ð¸®°¡ ÃæºÐÇÏÁö ¾Ê´Ù.


1.5절. ¿¹Á¦

#include <sys/types.h>
#include <pwd.h>
#include <stdio.h>

int main()
{
    char buf[80];
    int  uid;
    struct passwd *pwinfo = NULL;
    fgets(buf, 80, stdin);
    uid = atoi(buf);
    pwinfo = getpwuid(uid);

    // À¯ÀúÀ̸§, Ȩµð·ºÅ丮, µî·Ï ½© Á¤º¸¸¦ Ãâ·ÂÇÑ´Ù.   
    printf("%d : %s, %s, %s\n", uid, pwinfo->pw_name,
                            pwinfo->pw_dir,
                            pwinfo->pw_shell);
    return 1;
}
		
´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î ½ÇÇàÇϸé ÇöÀç ÀÚ½ÅÀÇ UID ¿¡ ´ëÇÑ À¯Àú Á¤º¸¸¦ °¡Á®¿Ã¼ö ÀÖ´Ù.
[yundream@localhost test]$ echo $UID | ./getpwuid 
500 : yundream, /home/yundream, /bin/bash
		


EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.