CHOWN

Section: ¸®´ª½º ÇÁ·Î±×·¡¸Ó ¸Å´º¾ó (2)
Updated: 1997³â 5¿ù 18ÀÏ
Index
Return to Main Contents
 

À̸§

chown, fchown, lchown - ÆÄÀÏ¿¡ ´ëÇÑ ¼ÒÀ¯±ÇÀ» ¹Ù²Û´Ù.  

»ç¿ë¹ý

#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);  

¼³¸í

path³ª fd·Î ÁöÁ¤µÈ ÆÄÀÏÀÇ ¼ÒÀ¯ÀÚ¸¦ ¹Ù²Û´Ù. ½´ÆÛ »ç¿ëÀÚ(root)¸¸ÀÌ ÆÄÀÏÀÇ ¼ÒÀ¯ÀÚ¸¦ ¹Ù²Ü¼ö ÀÖ´Ù. ÆÄÀÏÀÇ ¼ÒÀ¯ÀÚ´Â ÆÄÀÏÀÇ ±×·ìÀ» ±× ¼ÒÀ¯ÀÚ°¡ ¸â¹öÀÎ ¾î¶² ±×·ìÀ¸·Î ¹Ù²Ü¼ö ÀÖ´Ù. ½´ÆÛ »ç¿ëÀÚ´Â ÀÓÀÇ·Î ±×·ìÀ» º¯°æÇÒ ¼ö ÀÖ´Ù. owner³ª group°¡ -1·Î ÁöÁ¤µÇ¾ú´Ù¸é, ±× ID´Â ¹Ù²îÁö ¾Ê´Â´Ù. ½ÇÇà ÆÄÀÏÀÇ ¼ÒÀ¯ÀÚ³ª ±×·ìÀÌ ½´ÆÛ »ç¿ëÀÚ(root)°¡ ¾Æ´Ñ »ç¿ëÀÚ¿¡ ÀÇÇØ º¯°æµÇ¸é, S_ISUID ±×¸®°í S_ISGID ¸ðµå ºñÆ®´Â Áö¿öÁø´Ù(clear). POSIX´Â ·çÆ®(root)°¡ chownÀ» ÇÒ ¶§ ÀÌ ÀÛ¾÷ÀÌ ½ÇÇà °¡´ÉÇÑ Áö ¿©ºÎ¸¦ ±â¼úÇÏÁö ¾Ê´Â´Ù; ¸®´ª½º¿¡¼­´Â ÀÌ ÀÛ¾÷ÀÌ Ä¿³Î ¹öÀü¿¡ ÀÇÁ¸ÇÑ´Ù. ±×·ì¿¡ ÀÇÇØ ½ÇÇàµÇ´Â ÆÄÀÏÀÌ ¾Æ´Ò °æ¿ì¿¡´Â S_ISGID ºñÆ®´Â ±Ç°í Àá±Ý (mandatory locking)À» °¡¸®Å°¸ç (S_IXGRP bit´Â Áö¿öÁø´Ù), chown¿¡ ÀÇÇØ Áö¿öÁöÁö ¾Ê´Â´Ù.  

¹Ýȯ°ª

¼º°ø½Ã, 0À» ¹ÝȯÇÑ´Ù. ¿¡·¯½Ã, -1ÀÌ ¹ÝȯÇϸç, errno´Â Àû´çÇÑ °ªÀ¸·Î ¼³Á¤µÈ´Ù.  

¿¡·¯

ÆÄÀÏ ½Ã½ºÅÛ¿¡ ÀÇÁ¸ÇÏ¿©, ´Ù¸¥ ¿¡·¯ Äڵ尡 ¹ÝȯµÉ ¼ö ÀÖ´Ù. chownÀÇ ÀϹÝÀûÀÎ ¿¡·¯ ¸ñ·ÏÀº ´ÙÀ½°ú °°´Ù:
EPERM
À¯È¿ UID´Â ÆÄÀÏÀÇ ¼ÒÀ¯ÀÚ¿Í ÀÏÄ¡ÇÏÁö ¾ÊÀ¸¸ç 0ÀÌ ¾Æ´Ï´Ù; ¶Ç´Â ¼ÒÀ¯ÀÚ³ª ±×·ìÀÌ Á¤È®È÷ ÁöÁ¤µÇÁö ¾Ê¾Ò´Ù.
EROFS
ÁöÁ¤µÈ ÆÄÀÏÀÌ Àбâ-Àü¿ë ÆÄÀÏ ½Ã½ºÅÛ¿¡ ÀÖ´Ù.
EFAULT
path°¡ Á¢±ÙÇÒ¼ö ¾ø´Â ÁÖ¼Ò °ø°£À» °¡¸®Å°°í ÀÖ´Ù.
ENAMETOOLONG
path°¡ ³Ê¹« ±æ´Ù.
ENOENT
ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾Ê´Â´Ù.
ENOMEM
ÀÌ¿ëÇÒ ¼ö ÀÖ´Â Ä¿³Î ¸Þ¸ð¸®°¡ ÃæºÐÇÏÁö ¾Ê´Ù.
ENOTDIR
°æ·Î¸íÀÇ ¾ÕºÎºÐ(prefix)ÀÌ µð·ºÅ丮°¡ ¾Æ´Ï´Ù.
EACCES
ã±â Çã°¡±ÇÀÌ °æ·Î¸íÀÇ ¾ÕºÎºÐ¿¡¼­ °ÅºÎµÇ¾ú´Ù.
ELOOP
³Ê¹« ¸¹Àº ½Éº¼¸¯ ¸µÅ©¸¦ path¿¡¼­ ¸¸³µ´Ù.

fchownÀÇ ÀϹÝÀû ¿¡·¯´Â ¾Æ·¡¿Í °°´Ù:

EBADF
±â¼úÀÚ°¡ À¯È¿ÇÏÁö ¾Ê´Ù.
ENOENT
À§¸¦ ÂüÁ¶Çضó.
EPERM
À§¸¦ ÂüÁ¶Çضó.
EROFS
À§¸¦ ÂüÁ¶Çضó.
EIO
ÇÏÀ§ ·¹º§ I/O ¿¡·¯°¡ inode ¼öÁ¤ ½Ã ¹ß»ýÇß´Ù.
 

ÁÖÀÇ

2.1.81ÀÌÀüÀÇ ¸®´ª½º ¹öÀü¿¡¼­ chown´Â ½Éº¼¸¯ ¸µÅ©¸¦ Çã¿ëÇÏÁö ¾Ê´Â´Ù. ¸®´ª½º Ä¿³Î 2.1.81 ÀÌÈÄ¿¡, chown ½Éº¼¸¯ ¸µÅ©¸¦ Çã¿ëÇϸç, »õ·Î¿î ½Ã½ºÅÛ ÄÝ lchown´Â ½Éº¼¸¯ ¸µÅ©¸¦ Çã¿ëÇÏÁö ¾Ê´Â´Ù. ¸®´ª½º Ä¿³Î 2.1.86 ÀÌÈÄ¿¡, ÀÌ »õ·Î¿î ½Ã½ºÅÛ ÄÝ(¿¹ÀüÀÇ chown°ú °°Àº ÀǹÌÀ» °¡Áö°í ÀÖ´Â)Àº °°Àº ½Ã½ºÅÛ ÄÝ ¼ö¸¦ °¡Áö°í ÀÖÀ¸¸ç, chown¿¡¼­´Â »õ·Î¿î ½Ã½ºÅÛ ÄÝ ¼ö¸¦ °¡Áö°Ô µÇ¾ú´Ù.

fchownÀÇ ¿øÇüÀº _BSD_SOURCE°¡ Á¤ÀǵǾî ÀÖÀ» °æ¿ì¿¡¸¸ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.  

ȣȯ

chown ½Ã½ºÅÛ ÄÝÀº SVr4, SVID, POSIX, X/OPEN ¿¡¼­ È®½ÇÇÏ´Ù. 4.4BSD ¹öÀüÀº ½´ÆÛ »ç¿ëÀÚ¸¸ÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù.(Áï, ÀϹÝÀûÀÎ »ç¿ëÀÚ´Â ÆÄÀÏÀ» ¹Ù²Ü ¼ö ¾ø´Ù.) SVr4 ¹®¼­´Â EINVAL, EINTR, ENOLINK ±×¸®°í EMULTIHOP ¹ÝȯÀ» ¹®¼­È­ ÇßÁö¸¸, ENOMEMÀº ¾Æ´Ï´Ù. POSIX.1¿¡¼­´Â ENOMEM ¶Ç´Â ELOOP ¿¡·¯ Á¶°ÇÀ» ¹®¼­È­ ÇÏÁö ¾Ê¾Ò´Ù.

fchown ½Ã½ºÅÛ ÄÝÀº 4.4BSD ±×¸®°í SVr4 ¿¡¼­ È®½ÇÇÏ´Ù. SVr4Àº EINVAL, EIO, EINTR, ±×¸®°í ENOLINK ¿¡·¯ Á¶°ÇÀ» Ãß°¡ÀûÀ¸·Î ¹®¼­È­ Çß´Ù.  

Á¦ÇÑ

chown()ÀÇ ÀǹÌ(semantic)Àº UID ´ëÀÀÀÌ °¡´ÉÇÑ NFS ÆÄÀÏ ½Ã½ºÅÛ¿¡¼­´Â Àû¿ëµÇÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù. Ãß°¡ÀûÀ¸·Î, ÆÄÀÏ ³»¿ëÀ» Á¢±ÙÇÏ´Â ¸ðµç ½Ã½ºÅÛ ÄÝÀÇ ÀǹÌÀº Àû¿ëµÇÁö ¾ÊÀ» ¼ö ÀÖ´Ù. ¿Ö³ÄÇϸé chown()°¡ ÀÌ¹Ì ¿­·ÁÁø ÆÄÀÏ¿¡ Á¢±Ù Ãë¼Ò¸¦ ÀÏÀ¸Å³ ¼ö Àֱ⠶§¹®ÀÌ´Ù. Ŭ¶óÀ̾ðÆ® ÂÊ Ä³½Ì(caching)Àº ¼ÒÀ¯±ÇÀÌ »ç¿ëÀÚÀÇ Á¢±ÙÀ» Çã¿ëÇϵµ·Ï ¹Ù²ð ¼ö ÀÖ´Â ½Ã°£°ú ÆÄÀÏÀÌ ´Ù¸¥ Ŭ¶óÀ̾ðÆ® ÂÊ »ç¿ëÀÚ¿¡ ÀÇÇØ Á¢±ÙµÉ ¼ö ÀÖ´Â ½Ã°£ »çÀÌ¿¡ ¿¬±âµÉÁöµµ ¸ð¸¥´Ù.  

°ü·Ã Ç׸ñ

chmod(2), flock(2)  

¿ªÀÚ

Á¤°­ÈÆ <skyeyes@soback.kornet.net>, 2000³â 5¿ù 26ÀÏ


 

Index

À̸§
»ç¿ë¹ý
¼³¸í
¹Ýȯ°ª
¿¡·¯
ÁÖÀÇ
ȣȯ
Á¦ÇÑ
°ü·Ã Ç׸ñ
¿ªÀÚ

This document was created by man2html, using the manual pages.
Time: 08:07:01 GMT, March 25, 2004