Home :: International :: Manuals :: Howto :: FAQ :: Man Pages :: Email Login

 
 

 

CHOWN

Section: Linux Programmer's Manual (2)
Updated: May 18, 1997
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 ¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô(owner)¤òÊѹ¹¤¹¤ë¡£ ¥¹¡¼¥Ñ¡¼¡¦¥æ¡¼¥¶¡¼¤À¤±¤¬¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô¤òÊѹ¹¤Ç¤­¤ë¡£ ¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô¤Ï¡¢¤½¤Î½êÍ­¼Ô¤¬Â°¤·¤Æ¤¤¤ë¥°¥ë¡¼¥×¤Î¤¤¤º¤ì¤«¤Ë ¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×¤òÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ ¥¹¡¼¥Ñ¡¼¡¦¥æ¡¼¥¶¡¼¤Ï¡¢Ç¤°Õ¤Î¥°¥ë¡¼¥×¤ËÊѹ¹¤Ç¤­¤ë¡£

¤â¤·¡¢ owner ¤Þ¤¿¤Ï group ¤Ë -1 ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¤½¤ì¤é¤ÎID¤ÏÊѹ¹¤µ¤ì¤Ê¤¤¡£

When the owner or group of an executable file are changed by a non-super-user, the S_ISUID and S_ISGID mode bits are cleared. POSIX does not specify whether this also should happen when root does the chown; the Linux behaviour depends on the kernel version.

¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡¼°Ê³°¤Ë¤è¤Ã¤Æ¼Â¹Ô¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô¤Þ¤¿¤Ï¥°¥ë¡¼¥×¤¬ Êѹ¹¤µ¤ì¤¿¾ì¹ç¤Ï S_ISUID ¤È ISGID ¥â¡¼¥É¥Ó¥Ã¥È¤Ï¥¯¥ê¥¢¤µ¤ì¤ë¡£ POSIX ¤Ï¤³¤Îưºî¤ä¥ë¡¼¥È¤¬ chown ¤ò¹Ô¤Ê¤Ã¤¿¾ì¹ç¤Ë¤Ä¤¤¤Æ¤ÏÆÃ¤Ë»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¡£ È󥰥롼¥×¼Â¹Ô¥Õ¥¡¥¤¥ë(S_IXGRP ¥Ó¥Ã¥È¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤)¤Î¾ì¹ç¤Ë¤Ï S_ISGID ¥Ó¥Ã¥È¤Ï¶¯À©¥í¥Ã¥¯(mandatory locking)¤ò°ÕÌ£¤·¤Æ¤¤¤ë¡£ ¤½¤·¤Æ¤½¤ì¤Ï chown ¤Ç¤Ï¥¯¥ê¥¢¤Ç¤­¤Ê¤¤¡£

 

ÊÖ¤êÃÍ

À®¸ù¤¹¤ë¤È¡¢0¤òÊÖ¤¹¡£ ¼ºÇÔ¤¹¤ë¤È¡¢-1¤òÊÖ¤·¡¢ errno ¤ËŬÀÚ¤ÊÃͤòÀßÄꤹ¤ë¡£  

¥¨¥é¡¼

¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¤Ï¾¤Î¥¨¥é¡¼¤¬ÊÖ¤µ¤ì¤ë»ö¤¬¤¢¤ë¡£ chmod ¤Ç°ìÈÌŪ¤Ê¥¨¥é¡¼¤ò°Ê²¼¤Ëµó¤²¤ë:

EPERM
¼Â¸ú/(effective)UID¤¬¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô¤È°ìÃפ»¤º¡¢ ¥¼¥í¤Ç¤â¤Ê¤¤¡£ ¤Þ¤¿¤Ï¡¢ owner ¡¢¤Þ¤¿¤Ï group ¤¬Àµ¤·¤¯»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¡£
EROFS
»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤¬ÆÉ¤ß¹þ¤ßÀìÍÑ(read-only)¤Î¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¾å¤Ë¤¢¤ë¡£
EFAULT
path ¤¬³ä¤êÅö¤Æ¤é¤ì¤¿¥¢¥É¥ì¥¹¶õ´Ö³°¤ò»Ø¤·¤Æ¤¤¤ë¡£
ENAMETOOLONG
path ¤¬Ä¹²á¤®¤ë¡£
ENOENT
¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤¤¡£
ENOMEM
¥«¡¼¥Í¥ë¤Ë½½Ê¬¤Ê¥á¥â¥ê¤¬¤Ê¤¤¡£
ENOTDIR
path ¤Î¹½À®Í×ÁǤ¬¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ê¤¤¡£
EACCES
path ¤Î¹½À®Í×ÁǤ˸¡º÷µö²Ä(search permission)¤¬¤Ê¤¤¡£
ELOOP
path ¤ò²ò·è¤¹¤ëºÝ¤ËÁø¶ø¤·¤¿¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤¬Â¿²á¤®¤ë¡£

fchown ¤Ç°ìÈÌŪ¤Ê¥¨¥é¡¼¤ò°Ê²¼¤Ëµó¤²¤ë:

EBADF
¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤¬Í­¸ú¤Ç¤Ê¤¤¡£
ENOENT
¾åµ­¤ò»²¾È¡£
EPERM
¾åµ­¤ò»²¾È¡£
EROFS
¾åµ­¤ò»²¾È¡£
EIO
i¥Î¡¼¥É(inode)¤ò½¤Àµ¤¹¤ëºÝ¤ËÄã¥ì¥Ù¥ë I/O ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
 

Ãí°Õ

Linux ¤Î 2.1.81 ¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó (ÆÃ¤Ë 2.1.46°ÊÁ°) ¤Ç¤Ï¡¢ chown ¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤òÄÉÀפ·¤Ê¤¤¡£ Linux 2.1.81 °Ê¹ß¤Ç¤Ï chown ¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤òÄÉÀפ·¡¢¿·¤¿¤Ê¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë lchown ¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤òÄÉÀפ·¤Ê¤¤¡£ Linux 2.1.86 °Ê¹ß¤Ç¤Ï¤³¤Î¿·¤·¤¤¥³¡¼¥ë(¸Å¤¤ chown ¤ÈÁ´¤¯Æ±¤¸Æ°ºî¤ò¹Ô¤Ê¤¦)¤ÏƱ¤¸¥·¥¹¥Æ¥à¥³¡¼¥ëÈÖ¹æ¤ò»ý¤Á chown ¤Ï¿·¤·¤¯Æ³Æþ¤µ¤ì¤¿ÈÖ¹æ¤ò»ý¤Ä¡£

fchown ¤Ï _BSD_SOURCE ¤¬ÄêµÁ¤µ¤Æ¤¤¤ë¾ì¹ç¤Î¤ßÍøÍѤǤ­¤ë¡£ (ÌÀ¼¨Åª¤Ë¤â¤·¤¯¤Ï°ÅÌÛ¤Ë _POSIX_SOURCE ¤òÄêµÁ¤»¤º¡¢-ansi ¥Õ¥é¥°¤ò »ØÄꤷ¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¤Ê¤±¤ì¤Ð _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() Êý¼°¤Ï UID ¥Þ¥Ã¥Ô¥ó¥°¤ò»ÈÍѤ·¤¿ NFS ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤È ¿¯³²¤¹¤ë¡£¤µ¤é¤Ë¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤Ë¥¢¥¯¥»¥¹¤¹¤ëÁ´¤Æ¤Î¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤ò ¿¯³²¤¹¤ë¡£¤³¤ì¤Ï chown() ¤¬´û¤Ë¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë ¥¢¥¯¥»¥¹¤ò¤¿¤À¤Á¤Ë¼è¤ê¾Ã¤¹¤³¤È¤Ë¤è¤ë¡£¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥­¥ã¥Ã¥·¥å¤Ë¤è¤ê ½êÍ­¸¢¤¬Êѹ¹¤µ¤ì¤Æ¥æ¡¼¥¶¡¼¤Î¥¢¥¯¥»¥¹¤¬µö¤·¤¿»þÅÀ¤È¡¢¼ÂºÝ¤Ë¾¤Î ¥¯¥é¥¤¥¢¥ó¥È¤Ç¥æ¡¼¥¶¡¼¤Ë¤è¤Ã¤Æ¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ë»þÅÀ¤È¤Î´Ö¤Ë »þ´Öº¹¤¬¤¢¤ë¤«¤â¤·¤ì¤Ê¤¤¡£  

´ØÏ¢¹àÌÜ

chmod(2), flock(2)


 

Index

̾Á°
½ñ¼°
ÀâÌÀ
ÊÖ¤êÃÍ
¥¨¥é¡¼
Ãí°Õ
½àµò
À©¸Â
´ØÏ¢¹àÌÜ

 
 
 
 
Google
  Web Linuxinfor   
 

Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account

Document on this page is part of "Linuxinfor Man Pages in HTML Format: man2". See Index Page for more info about Authorship and Copyright.

1999-2008 Linuxinfor.com. No rights reserved.