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

 
 

 

CHMOD

Section: Linux Programmer's Manual (2)
Updated: 1997-12-10
Index Return to Main Contents
 

̾Á°

chmod, fchmod - ¥Õ¥¡¥¤¥ë¤Î¥â¡¼¥É¤òÊѹ¹¤¹¤ë  

½ñ¼°

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

int chmod(const char *path, mode_t mode);
int fchmod(int fildes, mode_t mode);  

ÀâÌÀ

path ¤ÇÍ¿¤¨¤é¤ì¤¿¥Õ¥¡¥¤¥ë¡¢ ¤Þ¤¿¤Ï fildes ¤Ç»²¾È¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤Î¥â¡¼¥É¤òÊѹ¹¤¹¤ë¡£

¥â¡¼¥É¤Ï¡¢¼¡¤Î³Æ¥â¡¼¥É¤Î or ¤ò¤È¤Ã¤¿¤â¤Î¤Ç»ØÄꤹ¤ë:

S_ISUID
04000 ¼Â¹Ô»þ¤Î¥»¥Ã¥È¡¦¥æ¡¼¥¶¡¼¡¦ID (set user ID)
S_ISGID
02000 ¼Â¹Ô»þ¤Î¥»¥Ã¥È¡¦¥°¥ë¡¼¥×¡¦ID (set group ID)
S_ISVTX
01000 ¥¹¥Æ¥£¥Ã¥­¡¼ (sticky) ¥Ó¥Ã¥È
S_IRUSR (S_IREAD)
00400 ½êÍ­¼Ô (owner) ¤Ë¤è¤ëÆÉ¤ß¼è¤ê (read)
S_IWUSR (S_IWRITE)
00200 ½êÍ­¼Ô¤Ë¤è¤ë½ñ¤­¹þ¤ß (write)
S_IXUSR (S_IEXEC)
00100 ½êÍ­¼Ô¤Ë¤è¤ë¼Â¹Ô (execute) / ¸¡º÷ (search)
S_IRGRP
00040 ¥°¥ë¡¼¥×¤Ë¤è¤ëÆÉ¤ß¼è¤ê
S_IWGRP
00020 ¥°¥ë¡¼¥×¤Ë¤è¤ë½ñ¤­¹þ¤ß
S_IXGRP
00010 ¥°¥ë¡¼¥×¤Ë¤è¤ë¼Â¹Ô / ¸¡º÷
S_IROTH
00004 ¾¿Í (others) ¤Ë¤è¤ëÆÉ¤ß¼è¤ê
S_IWOTH
00002 ¾¿Í¤Ë¤è¤ë½ñ¤­¹þ¤ß
S_IXOTH
00001 ¾¿Í¤Ë¤è¤ë¼Â¹Ô / ¸¡º÷

¥×¥í¥»¥¹¤Î¼Â¸ú (effective) UID ¤¬¥¼¥í¤Ç¤¢¤ë¤«¡¢ ¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô¤È°ìÃפ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£

¤â¤·¥×¥í¥»¥¹¤Î¼Â¸ú UID ¤¬¥¼¥í¤Ç¤Ê¤¯¡¢¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥× ID ¤¬ ¥×¥í¥»¥¹¤Î¼Â¸ú¥°¥ë¡¼¥× ID ¤Þ¤¿¤ÏÊä½õŪ¤Ê¥°¥ë¡¼¥× ID ¤Ë¥Þ¥Ã¥Á¤·¤Ê¤¤¾ì¹ç¡¢ S_ISGID ¥Ó¥Ã¥È¤Ï¥ª¥Õ¤Ë¤µ¤ì¤ë¤¬¡¢¤³¤ì¤Ë¤è¤Ã¤Æ¥¨¥é¡¼¤¬ÊÖ¤µ¤ì¤ë¤³¤È¤Ï¤Ê¤¤¡£

¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¤Ï¡¢¥Õ¥¡¥¤¥ë¤Î½ñ¤­¹þ¤ß¤ò¹Ô¤¦»þ¤Ë ¥»¥Ã¥È¡¦¥æ¡¼¥¶¡¼ ID ¤È¥»¥Ã¥È¡¦¥°¥ë¡¼¥× ID ¥Ó¥Ã¥È¤È¼Â¹Ô¥Ó¥Ã¥È¤¬ ¥ª¥Õ¤Ë¤µ¤ì¤ë¤³¤È¤¬¤¢¤ë¡£ ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤ÎÃæ¤Ë¤Ï¡¢¥¹¡¼¥Ñ¡¼¡¦¥æ¡¼¥¶¡¼¤À¤±¤¬ ÆÃÊ̤ΰÕÌ£¤ò»ý¤Ä¥¹¥Æ¥£¥Ã¥­¡¼¡¦¥Ó¥Ã¥È¤òÀßÄê¤Ç¤­¤ë¤â¤Î¤¬¤¢¤ë¡£ ¥¹¥Æ¥£¥Ã¥­¡¼¡¦¥Ó¥Ã¥È¤È¥Ç¥£¥ì¥¯¥È¥ê¤ËÂФ¹¤ë ¥»¥Ã¥È¡¦¥æ¡¼¥¶¡¼ (¥°¥ë¡¼¥×)¡¦ID ¥Ó¥Ã¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢ stat(2) ¤ò¸«¤è¡£

NFS ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Ç¤Ï¡¢¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤òÀ©¸Â¤¹¤ë¤È¡¢ ´û¤Ë¥ª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¤¹¤°¤Ë±Æ¶Á¤¬µÚ¤Ö¡£ ¤³¤ì¤Ï¥¢¥¯¥»¥¹À©¸æ¤¬¥µ¡¼¥Ð¡¼¾å¤Ç¹Ô¤ï¤ì¤Æ¤¤¤ë¤¬¡¢ ¥ª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Ï¥¯¥é¥¤¥¢¥ó¥È¦¤Ç´ÉÍý¤µ¤ì¤Æ¤¤¤ë¤¿¤á¤Ç¤¢¤ë¡£ ¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¥Õ¥¡¥¤¥ë°À­¤Î¥­¥ã¥Ã¥·¥å¤¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¡¢ ¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ÎÀ©¸Â¤ò´Ë¤¯¤¹¤ë¤È¡¢ ¾¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ë¾ðÊó¤¬ÅÁ¤ï¤ë¤Î¤¬ÃÙ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¡£  

ÊÖ¤êÃÍ

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

¥¨¥é¡¼

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

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

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

EBADF
¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼ fildes ¤¬Í­¸ú¤Ç¤Ê¤¤¡£
EROFS
¾åµ­¤ò»²¾È¡£
EPERM
¾åµ­¤ò»²¾È¡£
EIO
¾åµ­¤ò»²¾È¡£
 

½àµò

chmod ¤Ï SVr4, SVID, POSIX, X/OPEN, 4.4BSD ¤È¸ß´¹À­¤¬¤¢¤ë¡£ SVr4 ¤Ï EINTR, ENOLINK, EMULTIHOP ¤ÏÊÖ¤¹¤¬ ENOMEM ¤ÏÊÖ¤µ¤Ê¤¤¡£ POSIX.1 ¤Ë¤Ï EFAULT, ENOMEM, ELOOP, EIO ¥¨¥é¡¼¤ä S_IREAD, S_IWRITE,S_IEXEC ¥Þ¥¯¥í ¤Ë¤Ä¤¤¤Æ¤Îµ­½Ò¤Ï¤Ê¤¤¡£

fchmod ¤Ï 4.4BSD, SVr4 ¤È¸ß´¹À­¤¬¤¢¤ë¡£ SVr4 ¤Ë¤Ï EINTR, ENOLINK ¥¨¥é¡¼¾õÂ֤ε­½Ò¤Ï¤Ê¤¤¡£ POSIX ¤Ç¤Ï fchmod ´Ø¿ô¤Ï¾¯¤Ê¤¯¤È¤â _POSIX_MAPPED_FILES ¤È _POSIX_SHARED_MEMORY_OBJECTS ¤Î¤É¤Á¤é¤«¤¬ÄêµÁ¤µ¤ì¤¤¤ëɬÍפ¬¤¢¤ë¡£ ¤½¤·¤Æ ENOSYS ¤È EINVAL ¥¨¥é¡¼¾õÂ֤ˤĤ¤¤Æ¤Îµ­½Ò¤Ï¤¢¤ë¤¬¡¢ EIO ¤Ë¤Ä¤¤¤Æ¤Îµ­½Ò¤Ï¤Ê¤¤¡£

POSIX ¤È X/OPEN ¤Ë¤Ï¥¹¥Æ¥£¥Ã¥­¡¼¡¦¥Ó¥Ã¥È¤Ë¤Ä¤¤¤Æ¤Îµ­½Ò¤Ï¤Ê¤¤¡£  

´ØÏ¢¹àÌÜ

open(2), chown(2), execve(2), stat(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.