224 lines
7.3 KiB
Groff
224 lines
7.3 KiB
Groff
.\" Copyright (c) 1980, 1991, 1993
|
|
.\" The Regents of the University of California. All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
.\" must display the following acknowledgement:
|
|
.\" This product includes software developed by the University of
|
|
.\" California, Berkeley and its contributors.
|
|
.\" 4. Neither the name of the University nor the names of its contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" @(#)chmod.2 8.1 (Berkeley) 6/4/93
|
|
.\" %FreeBSD: src/lib/libc/sys/chmod.2,v 1.12.2.3 1999/08/29 14:48:58 peter Exp %
|
|
.\"
|
|
.Dd June 4, 1993
|
|
.Dt CHMOD 2
|
|
.Os BSD 4
|
|
.Sh ̾¾Î
|
|
.Nm chmod ,
|
|
.Nm fchmod ,
|
|
.Nm lchmod
|
|
.Nd ¥Õ¥¡¥¤¥ë¤Î¥â¡¼¥É¤òÊѹ¹¤¹¤ë
|
|
.Sh ½ñ¼°
|
|
.Fd #include <sys/stat.h>
|
|
.Ft int
|
|
.Fn chmod "const char *path" "mode_t mode"
|
|
.Ft int
|
|
.Fn fchmod "int fd" "mode_t mode"
|
|
.Ft int
|
|
.Fn lchmod "const char *path" "mode_t mode"
|
|
.Sh ²òÀâ
|
|
.Fa path
|
|
¤Ç»ØÄꤵ¤ì¤ë¤«¡¢¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ëµ½Ò»Ò
|
|
.Fa fd
|
|
¤Ç»²¾È¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤Î
|
|
¥Õ¥¡¥¤¥ëµö²Ä¥Ó¥Ã¥È¤ò
|
|
.Fa mode
|
|
¤ËÊѹ¹¤·¤Þ¤¹¡£
|
|
.Fn chmod
|
|
´Ø¿ô¤Ï¡¢¥×¥í¥»¥¹½êͼÔ
|
|
(¥æ¡¼¥¶) ¤¬
|
|
.Fa path
|
|
(¤Þ¤¿¤Ï
|
|
.Fa fd )
|
|
¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò½êͤ¹¤ë¤«¡¢¤Þ¤¿¤Ï¥¹¡¼¥Ñ¥æ¡¼¥¶¤Ç
|
|
¤¢¤ë¤«¤Î¤É¤Á¤é¤«¤Ç¤¢¤ë¤³¤È¤ò³Îǧ¤·¤Þ¤¹¡£
|
|
.Fn chmod
|
|
´Ø¿ô¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¼«ÂΤǤϤʤ¯¡¢¥ê¥ó¥¯Àè¤ËºîÍѤ·¤Þ¤¹¡£
|
|
.Pp
|
|
.Fa lchmod
|
|
´Ø¿ô¤Ï
|
|
.Fn chmod
|
|
¤ËÎà»÷¤·¤Æ¤¤¤Þ¤¹¤¬¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò¤¿¤É¤ê¤Þ¤»¤ó¡£
|
|
.Pp
|
|
¥â¡¼¥É¤Ï
|
|
.Aq Pa sys/stat.h
|
|
¤ÇÄêµÁ¤µ¤ì¤¿µö²Ä¥Ó¥Ã¥È¥Þ¥¹¥¯¤ÎÏÀÍýÏÂ
|
|
.Pf ( Em or )
|
|
¤«¤éºîÀ®¤µ¤ì¤Þ¤¹:
|
|
.Pp
|
|
.Bd -literal -offset indent -compact
|
|
#define S_IRWXU 0000700 /* ½êͼÔÍѤΠRWX ¥Þ¥¹¥¯ */
|
|
#define S_IRUSR 0000400 /* ½êͼÔÍѤΠR */
|
|
#define S_IWUSR 0000200 /* ½êͼÔÍѤΠW */
|
|
#define S_IXUSR 0000100 /* ½êͼÔÍѤΠX */
|
|
|
|
#define S_IRWXG 0000070 /* ¥°¥ë¡¼¥×ÍѤΠRWX ¥Þ¥¹¥¯ */
|
|
#define S_IRGRP 0000040 /* ¥°¥ë¡¼¥×ÍѤΠR */
|
|
#define S_IWGRP 0000020 /* ¥°¥ë¡¼¥×ÍѤΠW */
|
|
#define S_IXGRP 0000010 /* ¥°¥ë¡¼¥×ÍѤΠX */
|
|
|
|
#define S_IRWXO 0000007 /* ¤½¤Î¾ÍѤΠRWX ¥Þ¥¹¥¯ */
|
|
#define S_IROTH 0000004 /* ¤½¤Î¾ÍѤΠR */
|
|
#define S_IWOTH 0000002 /* ¤½¤Î¾ÍѤΠW */
|
|
#define S_IXOTH 0000001 /* ¤½¤Î¾ÍѤΠX */
|
|
|
|
#define S_ISUID 0004000 /* ¼Â¹Ô»þ¤Ë¥æ¡¼¥¶ ID ¤òÀßÄê */
|
|
#define S_ISGID 0002000 /* ¼Â¹Ô»þ¤Ë¥°¥ë¡¼¥× ID ¤òÀßÄê */
|
|
#define S_ISVTX 0001000 /* ¥¹¥Æ¥£¥Ã¥¡¼¥Ó¥Ã¥È */
|
|
#ifndef _POSIX_SOURCE
|
|
#define S_ISTXT 0001000
|
|
#endif
|
|
.Ed
|
|
.Pp
|
|
.Tn FreeBSD
|
|
VM ¥·¥¹¥Æ¥à¤Ï¡¢¼Â¹Ô²Äǽ¥â¥¸¥å¡¼¥ë¤Ë¤Ä¤¤¤Æ¥¹¥Æ¥£¥Ã¥¡¼¥Ó¥Ã¥È
|
|
.Pf ( Dv ISVTX )
|
|
¤ò´°Á´¤Ë̵»ë¤·¤Þ¤¹¡£
|
|
UFS ¤ò¥Ù¡¼¥¹¤È¤·¤¿¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à (FFS, MFS, LFS) ¤Ç¤Ï¡¢
|
|
¥¹¥Æ¥£¥Ã¥¡¼¥Ó¥Ã¥È¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤À¤±ÀßÄê¤Ç¤¤Þ¤¹¡£
|
|
.Pp
|
|
.Dv ISVTX
|
|
(`¥¹¥Æ¥£¥Ã¥¡¼¥Ó¥Ã¥È') ¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¡¢
|
|
ÆÃ¸¢¤Î¤Ê¤¤¥æ¡¼¥¶¤Ï¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¾¤Î¥æ¡¼¥¶¤Î¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë¤³¤È¤â
|
|
̾Á°¤òÊѹ¹¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤»¤ó¡£
|
|
¥¹¥Æ¥£¥Ã¥¡¼¥Ó¥Ã¥È¤Ï¡¢¥æ¡¼¥¶¤¬½êͤ¹¤ë¤«¡¢
|
|
¤Þ¤¿¤Ï³ºÅö¤¹¤ëµö²Ä¤Î¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ä¤¤¤Æ
|
|
¤É¤Î¥æ¡¼¥¶¤Ç¤âÀßÄê¤Ç¤¤Þ¤¹¡£
|
|
¥¹¥Æ¥£¥Ã¥¡¼¥Ó¥Ã¥È¤Î¥×¥í¥Ñ¥Æ¥£¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
|
|
.Xr sticky 8
|
|
¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
|
|
.Pp
|
|
¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ë ISUID (UID ÀßÄê) ¤¬ÀßÄꤵ¤ì¤Æ¤ª¤ê¡¢
|
|
¤·¤«¤â¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥Þ¥¦¥ó¥È¤¹¤ëºÝ¤Ë MNT_SUIDDIR ¥ª¥×¥·¥ç¥ó¤¬
|
|
»ØÄꤵ¤ì¤¿¾ì¹ç¡¢
|
|
¤³¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤ËºîÀ®¤µ¤ì¤ë¿·¤·¤¤¥Õ¥¡¥¤¥ë¤È¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Î½êͼԤϡ¢
|
|
¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î½êÍ¼Ô¤ÈÆ±¤¸¤ËÀßÄꤵ¤ì¤Þ¤¹¡£
|
|
¤³¤Îµ¡Ç½¤¬Í¸ú¤Ê¾ì¹ç¡¢¿·¤·¤¤¥Ç¥£¥ì¥¯¥È¥ê¤Ï¿Æ¤«¤é¤½¤Î¥Ó¥Ã¥È¤ò·Ñ¾µ¤·¤Þ¤¹¡£
|
|
¼Â¹Ô¥Ó¥Ã¥È¤Ï¥Õ¥¡¥¤¥ë¤«¤é½üµî¤µ¤ì¤Þ¤¹¡£
|
|
¥ë¡¼¥È¤Ï½êͼԤò·Ñ¾µ¤¹¤ëµ¡Ç½¤òÍøÍѤǤ¤Þ¤»¤ó¡£
|
|
¤³¤Îưºî¤Ï¡¢¥Õ¥¡¥¤¥ë¤Ø¤Î½ñ¹þ¤ß¤¬¥æ¡¼¥¶¤Ëµö²Ä¤µ¤ì¤ë¾ò·ï¤òÊѹ¹¤·¤Þ¤»¤ó¡£
|
|
¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤¿¸å¤ÎºÇ½ªÅª¤Ê½êͼԤηèÄê¤Ë±Æ¶Á¤¹¤ë¤Î¤ß¤Ç¤¹¡£
|
|
¥°¥ë¡¼¥×·Ñ¾µ¤Ë¤Ï±Æ¶Á¤¢¤ê¤Þ¤»¤ó¡£
|
|
.Pp
|
|
¤³¤Îµ¡Ç½¤Ï¡¢ftp¡¢SAMBA ¤Þ¤¿¤Ï netatalk ·Ðͳ¤Ç PC ¥æ¡¼¥¶¤Ø¤Î
|
|
¥Õ¥¡¥¤¥ë¥µ¡¼¥Ó¥¹¤Ç»ÈÍѤµ¤ì¤ë¤è¤¦À߷פµ¤ì¤Æ¤¤¤Þ¤¹¡£
|
|
¤³¤ì¤Ï¥·¥§¥ë¥æ¡¼¥¶¤Ë¥»¥¥å¥ê¥Æ¥£¥Û¡¼¥ë¤òÄ󶡤¹¤ë¤Î¤Ç¡¢
|
|
¥·¥§¥ë¥Þ¥·¥ó¾å¤Ç»ÈÍѤ·¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
|
|
ÆÃ¤Ë¡¢¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï»ÈÍѤ·¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
|
|
¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢ÍøÍѤ¹¤ë¤¿¤á¤Ë¥«¡¼¥Í¥ëÆâ¤Ç SUIDDIR ¥ª¥×¥·¥ç¥ó¤òɬÍפȤ·¤Þ¤¹¡£
|
|
UFS ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤À¤±¤¬¤³¤Î¥ª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
|
|
suiddir ¥Þ¥¦¥ó¥È¥ª¥×¥·¥ç¥ó¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
|
|
.Xr mount 8
|
|
¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
|
|
.Pp
|
|
¥¹¡¼¥Ñ¥æ¡¼¥¶°Ê³°¤Î¥æ¡¼¥¶¤Ë¤è¤ë¡¢
|
|
¥Õ¥¡¥¤¥ë¤Î½ñ¹þ¤ß¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ë¤Î½êͼԤÎÊѹ¹¤Ë¤è¤Ã¤Æ setuser-id
|
|
¥Ó¥Ã¥È¤È set-group-id ¥Ó¥Ã¥È¤Ï¥ª¥Õ¤ËÀÚ¤êÂØ¤¨¤é¤ì¤Þ¤¹¡£
|
|
¸ß´¹À¤Ïµ¾À·¤Ë¤Ê¤ê¤Þ¤¹¤¬¡¢¤³¤ì¤Ë¤è¤Ã¤Æ
|
|
set-user-id (set-group-id) ¥Õ¥¡¥¤¥ë¤ò¡¢¤½¤ì¤é¤¬Êѹ¹¤µ¤ì¤¿¾ì¹ç¤Ë
|
|
set-user-id (set-group-id) ¤¬»Ä¤Ã¤¿¤Þ¤Þ¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤ï¤Ê¤¤¤è¤¦¤Ë
|
|
¤¹¤ë»ö¤Ë¤è¤Ã¤Æ¡¢¥·¥¹¥Æ¥à¤Ï¤¤¤¯¤é¤«°ÂÁ´¤Ë¤Ê¤ê¤Þ¤¹¡£
|
|
.Sh Ìá¤êÃÍ
|
|
Àµ¾ï¤Ë´°Î»¤¹¤ë¤ÈÃÍ 0 ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢ÃÍ -1 ¤¬ÊÖ¤µ¤ì¡¢
|
|
¥¨¥é¡¼¤ò¼¨¤¹¤¿¤á¤Ë
|
|
.Va errno
|
|
¤¬ÀßÄꤵ¤ì¤Þ¤¹¡£
|
|
.Sh ¥¨¥é¡¼
|
|
.Fn chmod
|
|
¤Ï¼¡¤Î¾ì¹ç¤Ë½èÍý¤Ë¼ºÇÔ¤·¥Õ¥¡¥¤¥ë¥â¡¼¥É¤ÏÊѹ¹¤µ¤ì¤Þ¤»¤ó¡£
|
|
.Bl -tag -width Er
|
|
.It Bq Er ENOTDIR
|
|
¥Ñ¥¹¤Î¹½À®Í×ÁÇÃæ¤Ë¥Ç¥£¥ì¥¯¥È¥ê°Ê³°¤Î¤â¤Î¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
|
|
.It Bq Er ENAMETOOLONG
|
|
¥Ñ¥¹Ì¾¤Î¹½À®Í×ÁǤ¬ 255 ʸ»ú¤ò±Û¤¨¤Æ¤¤¤ë¤«¡¢
|
|
¤Þ¤¿¤Ï¥Ñ¥¹Ì¾Á´ÂΤ¬ 1023 ʸ»ú¤ò±Û¤¨¤Æ¤¤¤Þ¤¹¡£
|
|
.It Bq Er ENOENT
|
|
»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Þ¤»¤ó¡£
|
|
.It Bq Er EACCES
|
|
Á°Ã֥ѥ¹Ì¾¤Î¹½À®Í×ÁǤˤĤ¤¤Æ¸¡º÷µö²Ä¤¬µñÀ䤵¤ì¤Æ¤¤¤Þ¤¹¡£
|
|
.It Bq Er ELOOP
|
|
¥Ñ¥¹Ì¾¤òÊÑ´¹¤¹¤ë¤È¤¤Ë¸¡½Ð¤µ¤ì¤¿¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬Â¿¤¹¤®¤Þ¤¹¡£
|
|
.It Bq Er EPERM
|
|
¼Â¸ú¥æ¡¼¥¶ ID ¤¬¥Õ¥¡¥¤¥ë¤Î½êͼԤȰìÃפ»¤º¡¢
|
|
¼Â¸ú¥æ¡¼¥¶ ID ¤¬¥¹¡¼¥Ñ¥æ¡¼¥¶¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
|
|
.It Bq Er EROFS
|
|
»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÏÆÉ¼è¤êÀìÍÑ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Ë¤¢¤ê¤Þ¤¹¡£
|
|
.It Bq Er EFAULT
|
|
.Fa path
|
|
¤Ï¡¢¥×¥í¥»¥¹¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¥¢¥É¥ì¥¹¶õ´Ö¤ÎÈϰϳ°¤ò»Ø¤·¤Æ¤¤¤Þ¤¹¡£
|
|
.It Bq Er EIO
|
|
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ËÆÉ¤ß½ñ¤¤·¤Æ¤¤¤ë´Ö¤ËÆþ½ÐÎÏ¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£
|
|
.It Bq Er EFTYPE
|
|
¼Â¹Ô²Äǽ¥â¥¸¥å¡¼¥ë¾å¤Ç¥¹¥Æ¥£¥Ã¥¡¼¥Ó¥Ã¥È¤òÀßÄꤷ¤è¤¦¤È¤·¤Þ¤·¤¿¡£
|
|
.El
|
|
.Pp
|
|
.Fn fchmod
|
|
¤Ï¼¡¤Î¾ì¹ç¤Ë½èÍý¤ò¼ºÇÔ¤·¤Þ¤¹¡£
|
|
.Bl -tag -width Er
|
|
.It Bq Er EBADF
|
|
µ½Ò»Ò¤¬Í¸ú¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
|
|
.It Bq Er EINVAL
|
|
.Fa fd
|
|
¤¬¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¯¥½¥±¥Ã¥È¤ò»²¾È¤·¤Æ¤¤¤Þ¤¹¡£
|
|
.It Bq Er EROFS
|
|
¥Õ¥¡¥¤¥ë¤¬ÆÉ¼è¤êÀìÍѤΥե¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤ËÃÖ¤«¤ì¤Æ¤¤¤Þ¤¹¡£
|
|
.It Bq Er EIO
|
|
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ËÆÉ¤ß½ñ¤¤·¤Æ¤¤¤ë´Ö¤ËÆþ½ÐÎÏ¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£
|
|
.El
|
|
.Sh ´ØÏ¢¹àÌÜ
|
|
.Xr chmod 1 ,
|
|
.Xr chown 2 ,
|
|
.Xr open 2 ,
|
|
.Xr stat 2 ,
|
|
.Xr sticky 8
|
|
.Sh µ¬³Ê
|
|
.Fn chmod
|
|
´Ø¿ô¤Ï
|
|
EFTYPE ¤ÎÌá¤ê¤È S_ISTXT ¤Î»ÈÍÑË¡¤ò½ü¤¤¤Æ
|
|
.St -p1003.1-90
|
|
¤Ë½àµò¤·¤Æ¤¤¤Þ¤¹¡£
|
|
.Sh Îò»Ë
|
|
.Fn chmod
|
|
´Ø¿ô¤Ï
|
|
.At v7
|
|
¤ÇÅо줷¤Þ¤·¤¿¡£
|
|
.Fn fchmod
|
|
´Ø¿ô¤Ï
|
|
.Bx 4.2
|
|
¤ÇÅо줷¤Þ¤·¤¿¡£
|
|
.Fn lchmod
|
|
´Ø¿ô¤Ï
|
|
.Fx 3.0
|
|
¤ÇÅо줷¤Þ¤·¤¿¡£
|