chown - ÆÄÀÏÀÇ ¼ÒÀ¯ÀÚ¸¦ º¯°æÇÑ´Ù.
ÃÑ ÆäÀÌÁö ¼ö : 3224

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



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

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

1장. chown(2)

ÆÄÀÏ¿¡ ´ëÇÑ ¼ÒÀ¯±ÇÀ» ¹Ù²Ù±â À§Çؼ­ »ç¿ëµÈ´Ù. À¯»çÇÑ ·ùÀÇ ÇÔ¼ö·Î fchown(2), lchown(2) ÇÔ¼öµéÀÌ ÀÖ´Ù


1.1. »ç¿ë¹ý

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

int chown(const char *path, uid_t owner, gid_t group);
int fchown(int fd, uid_t owner, gid_t group);
int lchown(const char *path, uid_t owner, gid_t group);
		


1.2. ¼³¸í

chown(2) °è¿­ÀÇ ÇÔ¼öµéÀº path¿¡ ÁöÁ¤µÇ¾îÀÖ´Â ÆÄÀÏ È¤Àº fd(ÆÄÀÏÁöÁ¤ÀÚ)°¡ °¡¸£Å°´Â ÆÄÀÏÀÇ ¼ÒÀ¯(¹× ±×·ì)±ÇÇÑÀ» º¯°æÇϱâ À§ÇØ »ç¿ëµÈ´Ù. chown(2)À» ÀÌ¿ëÇØ¼­ ÆÄÀÏÀÇ ±ÇÇÑÀ» º¯°æÇϱâ À§Çؼ­´Â ÇØ´ç ÆÄÀÏ¿¡ ´ëÇÑ ±ÇÇÑÀ» °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù. ½´ÆÛÀ¯Àú´Â ÀÓÀÇ·Î ±ÇÇÑÀÇ º¯°æÀÌ °¡´ÉÇÏ´Ù.

lchown(2)Àº ½Éº¼¸µ ¸µÅ©(sybolic links)¿¡ ´ëÇÑ ¼ÒÀ¯ ±ÇÇÑÀ» º¯°æ Çϱâ À§ÇÑ ¸ñÀûÀ¸·Î °ú°Å(2.1.x)¿¡ »ç¿ëµÇ¾ú¾ú´Ù. ±×·¯³ª ÃÖ±ÙÀÇ Ä¿³ÎµéÀº ½Éº¼¸¯ ¸µÅ©¿¡ ´ëÇÑ ±ÇÇÑ º¯°æÀ» Çã¿ëÇÏÁö ¾Ê´Â´Ù. lchown(2)¿ª½Ã ³»ºÎÀûÀ¸·Î chown(2)¿Í µ¿ÀÏÇÑ ½Ã½ºÅÛ ÄÝÀ» »ç¿ëÇÑ´Ù.


1.3. ¹Ýȯ°ª

¼º°øÇÒ°æ¿ì 0À» ½ÇÆÐÇßÀ»°æ¿ì¿¡´Â -1À» ¹ÝȯÇϸç, Àû´çÇÑ errno °ªÀ» ¼³Á¤ÇÑ´Ù.


1.4. ¿¡·¯

EPERM

À¯È¿ UID°¡ ÆÄÀÏÀÇ ¼ÒÀ¯ÀÚ¿Í ÀÏÄ¡ÇÏÁö ¾ÊÀ¸¸ç 0ÀÌ ¾Æ´Ò °æ¿ì, ȤÀº ¼ÒÀ¯ÀÚ³ª ±×·ìÀÌ Á¤È®È÷ ÁöÁ¤µÇÁö ¾Ê¾ÒÀ» °æ¿ì

EROFS

¼ÒÀ¯±ÇÀ» º¯°æÇϰíÀÚ ÇÏ´Â ÆÄÀÏÀÌ ÀбâÀü¿ë ÆÄÀϽýºÅÛ¿¡ ÀÖÀ» °æ¿ì·Î cd-rom ȤÀº Àбâ Àü¿ëÀÇ samba, NFS ÆÄÀÏ ½Ã½ºÅÛ µî¿¡¼­ ¹ß»ýÇÒ ¼ö ÀÖ´Ù.

ENOENT

ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾Ê´Â´Ù.

ENOMEM

Ä¿³Î ¸Þ¸ð¸®°¡ ÃæºÐÇÏÁö ¾ÊÀ» ¶§

EACCESS

ÆÄÀÏÀ» ã±â À§ÇÑ µð·ºÅ丮 ±ÇÇÑÀÌ °ÅºÎµÇ¾úÀ» ¶§


1.5. ¿¹Á¦

/home/test/my.txt ÆÄÀÏÀÇ À¯Àú±ÇÇÑÀ» yundream ±×·ì±ÇÇÑÀ» post ·Î º¯°æÇϱ⠿øÇÒ¶§

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

int main()
{
    struct passwd *u_info;
    struct group  *g_info;

    u_info = getpwnam("yundream");
    g_info = getgrnam("post");

    chown("/home/test/my.txt", u_info->pw_uid, g_info->gr_gid);
}
		
getpwnam(3) °ú getgrnam(3) Àº °¢°¢ À¯ÀúÀÇ Á¤º¸¿Í ±×·ìÀÇ Á¤º¸¸¦ À̸§À¸·Î °¡Á®¿À±â À§Çؼ­ »ç¿ëÇÏ´Â ÇÔ¼öÀÌ´Ù. getpwnam Àº /etc/passwd ÆÄÀÏÀ», getgrnam Àº /etc/group ÆÄÀÏÀ» ÂüÁ¶ÇÏ¿©¼­ °¢°¢ÀÇ Á¤º¸¸¦ °¡Á®¿Â´Ù.

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