Rechercher une page de manuel
chown
Langue: ja
Version: 2004-06-23 (openSuse - 09/10/07)
Section: 2 (Appels système)
̾Á°
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) ¤È¥°¥ë¡¼¥×¤òÊѹ¹¤¹¤ë¡£ Æø¢¤ò»ý¤Ä¥×¥í¥»¥¹ (Linux ¤Ç¤Ï CAP_CHOWN ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£ (capability) ¤ò»ý¤Ä¥×¥í¥»¥¹) ¤À¤±¤¬ ¥Õ¥¡¥¤¥ë¤Î½êͼԤòÊѹ¹¤Ç¤¤ë¡£ ¥Õ¥¡¥¤¥ë¤Î½êͼԤϡ¢¤½¤Î½êͼԤ¬Â°¤·¤Æ¤¤¤ë¥°¥ë¡¼¥×¤Î¤¤¤º¤ì¤«¤Ë ¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×¤òÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£ Æø¢ (Linux ¤Ç¤Ï CAP_CHOWN) ¤ò»ý¤Ä¥×¥í¥»¥¹¤Ï¡¢Ç¤°Õ¤Î¥°¥ë¡¼¥×¤ËÊѹ¹¤Ç¤¤ë¡£owner ¤Þ¤¿¤Ï group ¤Ë -1 ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¤½¤ì¤é¤Î ID ¤ÏÊѹ¹¤µ¤ì¤Ê¤¤¡£
¥¹¡¼¥Ñ¡¼¡¦¥æ¡¼¥¶¡¼°Ê³°¤Ë¤è¤Ã¤Æ¼Â¹Ô¥Õ¥¡¥¤¥ë¤Î½êͼԤޤ¿¤Ï¥°¥ë¡¼¥×¤¬ Êѹ¹¤µ¤ì¤¿¾ì¹ç¤Ï S_ISUID ¤È ISGID ¥â¡¼¥É¥Ó¥Ã¥È¤Ï¥¯¥ê¥¢¤µ¤ì¤ë¡£ POSIX ¤Ï¤³¤ÎÆ°ºî¤ä¥ë¡¼¥È¤¬ chown() ¤ò¹Ô¤Ê¤Ã¤¿¾ì¹ç¤Ë¤Ä¤¤¤Æ¤ÏÆä˻ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¡£ Linux ¤Ë¤ª¤±¤ëÆ°ºî¤Ï¥«¡¼¥Í¥ë¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë°Í¸¤¹¤ë¡£ È󥰥롼¥×¼Â¹Ô¥Õ¥¡¥¤¥ë (S_IXGRP ¥Ó¥Ã¥È¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤) ¤Î¾ì¹ç¤Ë¤Ï S_ISGID ¥Ó¥Ã¥È¤Ï¶¯À©¥í¥Ã¥¯ (mandatory locking) ¤ò°ÕÌ£¤·¤Æ¤¤¤ë¡£ ¤½¤·¤Æ¤½¤ì¤Ï chown() ¤Ç¤Ï¥¯¥ê¥¢¤Ç¤¤Ê¤¤¡£
ÊÖ¤êÃÍ
À®¸ù¤¹¤ë¤È¡¢0 ¤òÊÖ¤¹¡£ ¼ºÇÔ¤¹¤ë¤È¡¢-1 ¤òÊÖ¤·¡¢ errno ¤ËŬÀÚ¤ÊÃͤòÀßÄꤹ¤ë¡£¥¨¥é¡¼
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¤Ï¾¤Î¥¨¥é¡¼¤¬ÊÖ¤µ¤ì¤ë»ö¤¬¤¢¤ë¡£ chmod ¤Ç°ìÈÌŪ¤Ê¥¨¥é¡¼¤ò°Ê²¼¤Ëµó¤²¤ë¡£- EACCES
- path ¤Î¹½À®Í×ÁǤ˸¡º÷µö²Ä (search permission) ¤¬¤Ê¤¤ (path_resolution(7) ¤â»²¾È)¡£
- EFAULT
- path ¤¬³ä¤êÅö¤Æ¤é¤ì¤¿¥¢¥É¥ì¥¹¶õ´Ö³°¤ò»Ø¤·¤Æ¤¤¤ë¡£
- ELOOP
- path ¤ò²ò·è¤¹¤ëºÝ¤ËÁø¶ø¤·¤¿¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤¬Â¿²á¤®¤ë¡£
- ENAMETOOLONG
- path ¤¬Ä¹²á¤®¤ë¡£
- ENOENT
- ¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤¤¡£
- ENOMEM
- ¥«¡¼¥Í¥ë¤Ë½½Ê¬¤Ê¥á¥â¥ê¤¬¤Ê¤¤¡£
- ENOTDIR
- path ¤Î¹½À®Í×ÁǤ¬¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ê¤¤¡£
- EPERM
- ¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤Ë½êͼԤޤ¿¤Ï¥°¥ë¡¼¥× (¤â¤·¤¯¤Ï¤½¤ÎξÊý) ¤òÊѹ¹¤¹¤ë¤¿¤á¤Ë Í׵ᤵ¤ì¤ëµö²Ä (¾åµ¤ò»²¾È) ¤¬¤Ê¤¤¡£
- EROFS
- »ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤¬Æɤ߹þ¤ßÀìÍÑ (read-only) ¤Î¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¾å¤Ë¤¢¤ë¡£
fchown() ¤Ç°ìÈÌŪ¤Ê¥¨¥é¡¼¤ò°Ê²¼¤Ëµó¤²¤ë:
- EBADF
- ¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤¬Í¸ú¤Ç¤Ê¤¤¡£
- EIO
- i ¥Î¡¼¥É (inode) ¤òÊѹ¹¤¹¤ëºÝ¤ËÄã¥ì¥Ù¥ë I/O ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
- ENOENT
- ¾åµ¤ò»²¾È¡£
- EPERM
- ¾åµ¤ò»²¾È¡£
- EROFS
- ¾åµ¤ò»²¾È¡£
½àµò
4.4BSD, SVr4, POSIX.1-2001.4.4BSD ÈǤǤϥ¹¡¼¥Ñ¡¼¡¦¥æ¡¼¥¶¡¼¤Î¤ß¤¬»ÈÍѤǤ¤ë (¤Ä¤Þ¤ê¡¢ÉáÄ̤Υ桼¥¶¡¼¤Ï¥Õ¥¡¥¤¥ë¤ò¼êÊü¤¹¤³¤È¤Ï¤Ç¤¤Ê¤¤)¡£
Ãí°Õ
chown() Êý¼°¤Ï UID ¥Þ¥Ã¥Ô¥ó¥°¤ò»ÈÍѤ·¤¿ NFS ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤ò¿¯³²¤¹¤ë¡£ ¤µ¤é¤Ë¥Õ¥¡¥¤¥ë¤ÎÆâÍƤ˥¢¥¯¥»¥¹¤¹¤ëÁ´¤Æ¤Î¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤ò¿¯³²¤¹¤ë¡£ ¤³¤ì¤Ï chown() ¤¬´û¤Ë¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë ¥¢¥¯¥»¥¹¤ò¤¿¤À¤Á¤Ë¼è¤ê¾Ã¤¹¤³¤È¤Ë¤è¤ë¡£ ¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥¥ã¥Ã¥·¥å¤Ë¤è¤ê½ê͸¢¤¬Êѹ¹¤µ¤ì¤Æ ¥æ¡¼¥¶¡¼¤Î¥¢¥¯¥»¥¹¤¬µö¤·¤¿»þÅÀ¤È¡¢¼ÂºÝ¤Ë¾¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ç¥æ¡¼¥¶¡¼¤Ë¤è¤Ã¤Æ ¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤Ç¤¤ë»þÅÀ¤È¤Î´Ö¤Ë»þ´Öº¹¤¬¤¢¤ë¤«¤â¤·¤ì¤Ê¤¤¡£Linux ¤Î 2.1.81 ¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó (ÆÃ¤Ë 2.1.46 °ÊÁ°) ¤Ç¤Ï¡¢ chown() ¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤òÄÉÀפ·¤Ê¤¤¡£ Linux 2.1.81 °Ê¹ß¤Ç¤Ï chown() ¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤òÄÉÀפ·¡¢¿·¤¿¤Ê¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë lchown() ¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤òÄÉÀפ·¤Ê¤¤¡£ Linux 2.1.86 °Ê¹ß¤Ç¤Ï¤³¤Î¿·¤·¤¤¥³¡¼¥ë (¸Å¤¤ chown() ¤ÈÁ´¤¯Æ±¤¸Æ°ºî¤ò¹Ô¤Ê¤¦) ¤ÏƱ¤¸¥·¥¹¥Æ¥à¥³¡¼¥ëÈÖ¹æ¤ò»ý¤Á chown() ¤Ï¿·¤·¤¯Æ³Æþ¤µ¤ì¤¿ÈÖ¹æ¤ò»ý¤Ä¡£
fchown() ¤Ï _BSD_SOURCE ¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Î¤ßÍøÍѤǤ¤ë¡£
´ØÏ¢¹àÌÜ
chmod(2), fchownat(2), flock(2), path_resolution(7)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre