getgid(2)
ÃÑ ÆäÀÌÁö ¼ö : 3224

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



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

<a href="/modules/moniwiki/wiki.php/manSearch?google=none&name=getgid">getgid</a>(2)

1장. getgid(2)

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

±×·ì ½Äº°ÀÚ(identity)¸¦ ¾Ë¾Æ³½´Ù.


1.1절. »ç¿ë¹ý

#include <unistd.h>

gid_t getgid(void);
gid_t getegid(void);
		


1.2절. ¼³¸í

getgid´Â ÇöÀç ÇÁ·Î¼¼½ºÀÇ ½ÇÁ¦(real) ±×·ì ID¸¦ ¸®ÅÏÇÑ´Ù.

getegid´Â ÇöÀç ÇÁ·Î¼¼½ºÀÇ À¯È¿(effective) ±×·ì ID¸¦ ¸®ÅÏÇÑ´Ù.

½ÇÁ¦ ±×·ì ¾ÆÀ̵ð´Â ÇÁ·Î¼¼½º¸¦ ½ÇÇà½ÃŲ À¯ÀúÀÇ ±×·ì ¾ÆÀ̵𸦠¸»Çϸç, À¯È¿ ±×·ì ID´Â ÇÁ·Î¼¼½º ½ÇÇàÁß¿¡ getegid(2)µîÀÇ ÇÔ¼ö¸¦ ÀÌ¿ëÇØ¼­ Àӽ÷Π¸¸µé¾îÁø ±×·ì ¾ÆÀ̵ð·Î ÇÁ·Î¼¼½º°¡ ½ÇÇàµÇ´Â µ¿¾È ÆÄÀÏ»ý¼ºµî¿¡ ¿µÇâÀ» ¹ÌÄ£´Ù. ¸ðµç ÆÄÀÏÀº ½ÇÁ¦ ±×·ì ¾ÆÀ̵𰡠¾Æ´Ñ À¯È¿ ±×·ì ID·Î »ý¼ºµÈ´Ù.

ÃÖÃÊ ÇÁ·Î¼¼½º°¡ ½ÇÇàµÇ¸é ½ÇÁ¦ ±×·ì ID¿Í À¯È¿ ±×·ì ID´Â µ¿ÀÏÇÑ °ªÀ» °¡Áø´Ù.


1.3절. ¿¡·¯

ÀÌ ÇÔ¼öµéÀº Ç×»ó ¼º°øÇÑ´Ù.


1.4절. ¿¹Á¦

#include <unistd.h>

#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

int main()
{
    int fd;
    // ÃÖÃÊ ½ÇÇàµÉ ¶§´Â ½ÇÁ¦ ±×·ì ¾ÆÀ̵ð¿Í À¯È¿ ±×·ì¾ÆÀ̵𰡠
    // µ¿ÀÏÇÏ´Ù.     
    printf("GID is %d : %d\n", getegid(), getgid());

    // À¯È¿ ±×·ì ¾ÆÀ̵𸦠506À¸·Î º¯°æÇÑ ÈÄ ÆÄÀÏÀ» »ý¼ºÇÑ´Ù. 
    // »ý¼ºµÈ ÆÄÀÏÀº 506±×·ì¼ÒÀ¯·Î »ý¼ºµÈ´Ù.
    setegid(506);
    fd = open("ok.txt", O_WRONLY|O_CREAT, S_IRWXU);
    close(fd);
    printf("GID is %d : %d\n", getegid(), getgid());

    // À¯È¿ ±×·ì ¾ÆÀ̵𸦠¿ø·¡´ë·Î µÇµ¹¸°´Ù.
    setegid(getgid());
    fd = open("ok2.txt", O_WRONLY|O_CREAT, S_IRWXU);

    printf("GID is %d : %d\n", getegid(), getgid());
    close(fd);
}
		

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