OSDN Git Service

(split) LDP v3.30, v3.31 の定型的な変更内容を反映。
[linuxjm/LDP_man-pages.git] / draft / man2 / chown.2
1 .\" Hey Emacs! This file is -*- nroff -*- source.
2 .\"
3 .\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992
4 .\" and Copyright (c) 1998 Andries Brouwer (aeb@cwi.nl)
5 .\" and Copyright (c) 2007, 2008 Michael Kerrisk <mtk.manpages@gmail.com>
6 .\"
7 .\" Permission is granted to make and distribute verbatim copies of this
8 .\" manual provided the copyright notice and this permission notice are
9 .\" preserved on all copies.
10 .\"
11 .\" Permission is granted to copy and distribute modified versions of this
12 .\" manual under the conditions for verbatim copying, provided that the
13 .\" entire resulting derived work is distributed under the terms of a
14 .\" permission notice identical to this one.
15 .\"
16 .\" Since the Linux kernel and libraries are constantly changing, this
17 .\" manual page may be incorrect or out-of-date.  The author(s) assume no
18 .\" responsibility for errors or omissions, or for damages resulting from
19 .\" the use of the information contained herein.  The author(s) may not
20 .\" have taken the same level of care in the production of this manual,
21 .\" which is licensed free of charge, as they might when working
22 .\" professionally.
23 .\"
24 .\" Formatted or processed versions of this manual, if unaccompanied by
25 .\" the source, must acknowledge the copyright and authors of this work.
26 .\"
27 .\" Modified by Michael Haardt <michael@moria.de>
28 .\" Modified 1993-07-21 by Rik Faith <faith@cs.unc.edu>
29 .\" Modified 1996-07-09 by Andries Brouwer <aeb@cwi.nl>
30 .\" Modified 1996-11-06 by Eric S. Raymond <esr@thyrsus.com>
31 .\" Modified 1997-05-18 by Michael Haardt <michael@cantor.informatik.rwth-aachen.de>
32 .\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com>
33 .\" 2007-07-08, mtk, added an example program; updated SYNOPSIS
34 .\" 2008-05-08, mtk, Describe rules governing ownership of new files
35 .\"     (bsdgroups versus sysvgroups, and the effect of the parent
36 .\"     directory's set-group-ID permission bit).
37 .\"
38 .\" Japanese Version Copyright (c) 1996 Yosiaki Yanagihara
39 .\"         all rights reserved.
40 .\" Translated 1996-06-24, Yosiaki Yanagihara <yosiaki@bsd2.kbnes.nec.co.jp>
41 .\" Modified 1998-05-11, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
42 .\" Modified 2004-02-29, Yuichi SATO <ysato444@yahoo.co.jp>
43 .\" Updated & Modified Wed Dec 29 06:48:16 JST 2004 by Yuichi SATO
44 .\" Updated 2007-09-04, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.64
45 .\" Updated 2008-08-09, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.05
46 .\"
47 .TH CHOWN 2 2010-09-26 "Linux" "Linux Programmer's Manual"
48 .\"O .SH NAME
49 .SH Ì¾Á°
50 .\"O chown, fchown, lchown \- change ownership of a file
51 chown, fchown, lchown \- ¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô¤òÊѹ¹¤¹¤ë
52 .\"O .SH SYNOPSIS
53 .SH ½ñ¼°
54 .B #include <unistd.h>
55 .sp
56 .BI "int chown(const char *" path ", uid_t " owner ", gid_t " group );
57 .br
58 .BI "int fchown(int " fd ", uid_t " owner ", gid_t " group );
59 .br
60 .BI "int lchown(const char *" path ", uid_t " owner ", gid_t " group );
61 .sp
62 .in -4n
63 .\"O Feature Test Macro Requirements for glibc (see
64 .\"O .BR feature_test_macros (7)):
65 glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
66 .RB ( feature_test_macros (7)
67 »²¾È):
68 .in
69 .sp
70 .BR fchown (),
71 .BR lchown ():
72 .PD 0
73 .ad l
74 .RS 4
75 _BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 ||
76 _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
77 .br
78 .\"O || /* Since glibc 2.12: */ _POSIX_C_SOURCE\ >=\ 200809L
79 || /* glibc 2.12 °Ê¹ß: */ _POSIX_C_SOURCE\ >=\ 200809L
80 .RE
81 .ad
82 .PD
83 .\"O .SH DESCRIPTION
84 .SH ÀâÌÀ
85 .\"O These system calls change the owner and group of a file.
86 .\"O The differ only in how the file is specified:
87 ¤³¤ì¤é¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¡¢¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô (owner) ¤È¥°¥ë¡¼¥×¤òÊѹ¹¤¹¤ë¡£
88 ¥·¥¹¥Æ¥à¥³¡¼¥ë´Ö¤Î°ã¤¤¤Ï¡¢¥Õ¥¡¥¤¥ë¤Î»ØÄê¤Î»ÅÊý¤À¤±¤Ç¤¢¤ë¡£
89 .IP * 2
90 .\"O .BR chown ()
91 .\"O changes the ownership of the file specified by
92 .\"O .IR path ,
93 .\"O which is dereferenced if it is a symbolic link.
94 .BR chown ()
95 ¤Ï
96 .I path
97 ¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤Î½êÍ­¸¢¤òÊѹ¹¤¹¤ë¡£
98 .I path
99 ¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Î¾ì¹ç¤Ï¡¢¥ê¥ó¥¯¤ÎŸ³«¤¬¹Ô¤ï¤ì¤ë¡£
100 .IP *
101 .\"O .BR fchown ()
102 .\"O changes the ownership of the file referred to by the open file descriptor
103 .\"O .IR fd .
104 .BR fchown ()
105 ¤Ï¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿
106 .I fd
107 ¤Ë¤è¤ê»²¾È¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤Î½êÍ­¸¢¤òÊѹ¹¤¹¤ë¡£
108 .IP *
109 .\"O .BR lchown ()
110 .\"O is like
111 .\"O .BR chown (),
112 .\"O but does not dereference symbolic links.
113 .BR lchown ()
114 ¤Ï
115 .BR chown ()
116 ¤ÈƱ¤¸¤À¤¬¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤òŸ³«¤·¤Ê¤¤ÅÀ¤¬°Û¤Ê¤ë¡£
117 .PP
118 .\"O Only a privileged process (Linux: one with the
119 .\"O .B CAP_CHOWN
120 .\"O capability) may change the owner of a file.
121 Æø¢¤ò»ý¤Ä¥×¥í¥»¥¹ (Linux ¤Ç¤Ï
122 .B CAP_CHOWN
123 ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£ (capability) ¤ò»ý¤Ä¥×¥í¥»¥¹) ¤À¤±¤¬
124 ¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô¤òÊѹ¹¤Ç¤­¤ë¡£
125 .\"O The owner of a file may change the group of the file
126 .\"O to any group of which that owner is a member.
127 ¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô¤Ï¡¢¤½¤Î½êÍ­¼Ô¤¬Â°¤·¤Æ¤¤¤ë¥°¥ë¡¼¥×¤Î¤¤¤º¤ì¤«¤Ë
128 ¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×¤òÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
129 .\"O A privileged process (Linux: with
130 .\"O .BR CAP_CHOWN )
131 .\"O may change the group arbitrarily.
132 Æø¢ (Linux ¤Ç¤Ï
133 .BR CAP_CHOWN )
134 ¤ò»ý¤Ä¥×¥í¥»¥¹¤Ï¡¢Ç¤°Õ¤Î¥°¥ë¡¼¥×¤ËÊѹ¹¤Ç¤­¤ë¡£
135
136 .\"O If the
137 .\"O .I owner
138 .\"O or
139 .\"O .I group
140 .\"O is specified as \-1, then that ID is not changed.
141 .I owner
142 ¤Þ¤¿¤Ï
143 .I group
144 ¤Ë \-1 ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¤½¤ì¤é¤Î ID ¤ÏÊѹ¹¤µ¤ì¤Ê¤¤¡£
145
146 .\"O When the owner or group of an executable file are
147 .\"O changed by an unprivileged user the
148 .\"O .B S_ISUID
149 .\"O and
150 .\"O .B S_ISGID
151 .\"O mode bits are cleared.
152 .\"O POSIX does not specify whether
153 .\"O this also should happen when root does the
154 .\"O .BR chown ();
155 ÈóÆø¢¥æ¡¼¥¶¡¼¤Ë¤è¤ê¼Â¹Ô¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô¤Þ¤¿¤Ï¥°¥ë¡¼¥×¤¬
156 Êѹ¹¤µ¤ì¤¿¾ì¹ç¤Ï
157 .B S_ISUID
158 ¤È
159 .B ISGID
160 ¥â¡¼¥É¥Ó¥Ã¥È¤Ï¥¯¥ê¥¢¤µ¤ì¤ë¡£
161 POSIX ¤Ï¤³¤ÎÆ°ºî¤ä¥ë¡¼¥È¤¬
162 .BR chown ()
163 ¤ò¹Ô¤Ê¤Ã¤¿¾ì¹ç¤Ë¤Ä¤¤¤Æ¤ÏÆä˻ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¡£
164 .\"O the Linux behavior depends on the kernel version.
165 Linux ¤Ë¤ª¤±¤ëÆ°ºî¤Ï¥«¡¼¥Í¥ë¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë°Í¸¤¹¤ë¡£
166 .\"O .\" In Linux 2.0 kernels, superuser was like everyone else
167 .\"O .\" In 2.2, up to 2.2.12, these bits were not cleared for superuser.
168 .\"O .\" Since 2.2.13, superuser is once more like everyone else.
169 .\" Linux 2.0 ¥«¡¼¥Í¥ë¤Ç¤Ï¡¢¥¹¡¼¥Ñ¡¼¡¦¥æ¡¼¥¶¡¼¤Ç¤ÎÆ°ºî¤Ï
170 .\" Â¾¤Î¥æ¡¼¥¶¡¼¤Î¾ì¹ç¤ÈƱ¤¸¤Ç¤¢¤Ã¤¿¡£
171 .\" 2.2 ¤Ç¤Ï¡¢2.2.12 ¤Þ¤Ç¤Ï¡¢¥¹¡¼¥Ñ¡¼¡¦¥æ¡¼¥¶¡¼¤Î¾ì¹ç¤Ë¤Ï
172 .\" ¤³¤ì¤é¤Î¥Ó¥Ã¥È¤Ï¥¯¥ê¥¢¤µ¤ì¤Ê¤¯¤Ê¤Ã¤¿¡£
173 .\" 2.2.13 °Ê¹ß¤Ç¤Ï¡¢¥¹¡¼¥Ñ¡¼¡¦¥æ¡¼¥¶¡¼¤Ç¤ÎÆ°ºî¤Ï
174 .\" ºÆ¤Ó¾¤Î¥æ¡¼¥¶¡¼¤Î¾ì¹ç¤ÈƱ¤¸¤Ë¤Ê¤Ã¤¿¡£
175 .\"O In case of a non-group-executable file (i.e., one for which the
176 .\"O .B S_IXGRP
177 .\"O bit is not set) the
178 .\"O .B S_ISGID
179 .\"O bit indicates mandatory locking, and is not cleared by a
180 .\"O .BR chown ().
181 È󥰥롼¥×¼Â¹Ô¥Õ¥¡¥¤¥ë
182 .RB ( S_IXGRP
183 ¥Ó¥Ã¥È¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¥Õ¥¡¥¤¥ë) ¤Î¾ì¹ç¤Ë¤Ï
184 .B S_ISGID
185 ¥Ó¥Ã¥È¤Ï¶¯À©¥í¥Ã¥¯ (mandatory locking) ¤ò°ÕÌ£¤·¤Æ¤¤¤ë¡£
186 ¤½¤·¤Æ¤½¤ì¤Ï
187 .BR chown ()
188 ¤Ç¤Ï¥¯¥ê¥¢¤Ç¤­¤Ê¤¤¡£
189 .\"O .SH "RETURN VALUE"
190 .SH ÊÖ¤êÃÍ
191 .\"O On success, zero is returned.
192 .\"O On error, \-1 is returned, and
193 .\"O .I errno
194 .\"O is set appropriately.
195 À®¸ù¤¹¤ë¤È¡¢0 ¤òÊÖ¤¹¡£
196 ¼ºÇÔ¤¹¤ë¤È¡¢\-1 ¤òÊÖ¤·¡¢
197 .I errno
198 ¤ËŬÀÚ¤ÊÃͤòÀßÄꤹ¤ë¡£
199 .\"O .SH ERRORS
200 .SH ¥¨¥é¡¼
201 .\"O Depending on the file system, other errors can be returned.
202 .\"O The more general errors for
203 .\"O .BR chown ()
204 .\"O are listed below.
205 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¤Ï¾¤Î¥¨¥é¡¼¤¬ÊÖ¤µ¤ì¤ë»ö¤¬¤¢¤ë¡£
206 .B chmod
207 ¤Ç°ìÈÌŪ¤Ê¥¨¥é¡¼¤ò°Ê²¼¤Ëµó¤²¤ë¡£
208 .TP
209 .B EACCES
210 .\"O Search permission is denied on a component of the path prefix.
211 .\"O (See also
212 .\"O .BR path_resolution (7).)
213 .I path
214 ¤Î¹½À®Í×ÁǤ˸¡º÷µö²Ä (search permission) ¤¬¤Ê¤¤
215 .RB ( path_resolution (7)
216 ¤â»²¾È)¡£
217 .TP
218 .B EFAULT
219 .\"O .I path
220 .\"O points outside your accessible address space.
221 .I path
222 ¤¬³ä¤êÅö¤Æ¤é¤ì¤¿¥¢¥É¥ì¥¹¶õ´Ö³°¤ò»Ø¤·¤Æ¤¤¤ë¡£
223 .TP
224 .B ELOOP
225 .\"O Too many symbolic links were encountered in resolving
226 .\"O .IR path .
227 .I path
228 ¤ò²ò·è¤¹¤ëºÝ¤ËÁø¶ø¤·¤¿¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤¬Â¿²á¤®¤ë¡£
229 .TP
230 .B ENAMETOOLONG
231 .\"O .I path
232 .\"O is too long.
233 .I path
234 ¤¬Ä¹²á¤®¤ë¡£
235 .TP
236 .B ENOENT
237 .\"O The file does not exist.
238 ¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤¤¡£
239 .TP
240 .B ENOMEM
241 .\"O Insufficient kernel memory was available.
242 ¥«¡¼¥Í¥ë¤Ë½½Ê¬¤Ê¥á¥â¥ê¤¬¤Ê¤¤¡£
243 .TP
244 .B ENOTDIR
245 .\"O A component of the path prefix is not a directory.
246 .I path
247 ¤Î¹½À®Í×ÁǤ¬¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ê¤¤¡£
248 .TP
249 .B EPERM
250 .\"O The calling process did not have the required permissions
251 .\"O (see above) to change owner and/or group.
252 ¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤Ë½êÍ­¼Ô¤Þ¤¿¤Ï¥°¥ë¡¼¥× (¤â¤·¤¯¤Ï¤½¤ÎξÊý) ¤òÊѹ¹¤¹¤ë¤¿¤á¤Ë
253 Í׵ᤵ¤ì¤ëµö²Ä (¾åµ­¤ò»²¾È) ¤¬¤Ê¤¤¡£
254 .TP
255 .B EROFS
256 .\"O The named file resides on a read-only file system.
257 »ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤¬Æɤ߹þ¤ßÀìÍÑ (read-only) ¤Î¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¾å¤Ë¤¢¤ë¡£
258 .PP
259 .\"O The general errors for
260 .\"O .BR fchown ()
261 .\"O are listed below:
262 .BR fchown ()
263 ¤Ç°ìÈÌŪ¤Ê¥¨¥é¡¼¤ò°Ê²¼¤Ëµó¤²¤ë:
264 .TP
265 .B EBADF
266 .\"O The descriptor is not valid.
267 ¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤¬Í­¸ú¤Ç¤Ê¤¤¡£
268 .TP
269 .B EIO
270 .\"O A low-level I/O error occurred while modifying the inode.
271 i ¥Î¡¼¥É (inode) ¤òÊѹ¹¤¹¤ëºÝ¤ËÄã¥ì¥Ù¥ë I/O ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
272 .TP
273 .B ENOENT
274 .\"O See above.
275 ¾åµ­¤ò»²¾È¡£
276 .TP
277 .B EPERM
278 .\"O See above.
279 ¾åµ­¤ò»²¾È¡£
280 .TP
281 .B EROFS
282 .\"O See above.
283 ¾åµ­¤ò»²¾È¡£
284 .\"O .SH "CONFORMING TO"
285 .SH ½àµò
286 4.4BSD, SVr4, POSIX.1-2001.
287
288 .\"O The 4.4BSD version can only be
289 .\"O used by the superuser (that is, ordinary users cannot give away files).
290 4.4BSD ÈǤǤϥ¹¡¼¥Ñ¡¼¡¦¥æ¡¼¥¶¡¼¤Î¤ß¤¬»ÈÍѤǤ­¤ë
291 (¤Ä¤Þ¤ê¡¢ÉáÄ̤Υ桼¥¶¡¼¤Ï¥Õ¥¡¥¤¥ë¤ò¼êÊü¤¹¤³¤È¤Ï¤Ç¤­¤Ê¤¤)¡£
292 .\"O .\" chown():
293 .\"O .\" SVr4 documents EINVAL, EINTR, ENOLINK and EMULTIHOP returns, but no
294 .\"O .\" ENOMEM.  POSIX.1 does not document ENOMEM or ELOOP error conditions.
295 .\" chown():
296 .\" SVr4 ¤Ë¤Ï EINVAL, EINTR, ENOLINK, EMULTIHOP ¤òÊÖ¤¹¤Èµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¤¬¡¢
297 .\" ENOMEM ¤Ï¤Ê¤¤¡£
298 .\" POSIX.1 ¤Ë¤Ï ENOMEM, ELOOP ¤Ë¤Ä¤¤¤Æµ­ºÜ¤Ï¤Ê¤¤¡£
299 .\"O .\" fchown():
300 .\"O .\" SVr4 documents additional EINVAL, EIO, EINTR, and ENOLINK
301 .\"O .\" error conditions.
302 .\" fchown():
303 .\" SVr4 ¤Ë¤Ï¾¤Ë EINVAL, EIO, EINTR, ENOLINK ¥¨¥é¡¼¾õÂ֤ˤĤ¤¤Æ¤Îµ­ºÜ¤¬¤¢¤ë¡£
304 .\"O .SH NOTES
305 .SH Ãí°Õ
306 .\"O When a new file is created (by, for example,
307 .\"O .BR open (2)
308 .\"O or
309 .\"O .BR mkdir (2)),
310 .\"O its owner is made the same as the file system user ID of the
311 .\"O creating process.
312 .RB ( open (2)
313 ¤ä
314 .BR mkdir (2)
315 ¤Ê¤É¤Ë¤è¤ê) ¿·¤·¤¤¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤ë¤È¤­¡¢
316 ¤½¤Î½êÍ­¼Ô¤Ï¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¡¦¥æ¡¼¥¶ ID ¤È
317 Ʊ¤¸¤ËÀßÄꤵ¤ì¤ë¡£
318 .\"O The group of the file depends on a range of factors,
319 .\"O including the type of file system,
320 .\"O the options used to mount the file system,
321 .\"O and whether or not the set-group-ID permission bit is enabled
322 .\"O on the parent directory.
323 ¤½¤Î¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×¤Ï¤¤¤¯¤Ä¤«¤ÎÍ×°ø¤Ë¤è¤ê·èÄꤵ¤ì¤ë¡£
324 ¤½¤ÎÍ×°ø¤È¤·¤Æ¤Ï¡¢
325 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¼ïÎà¡¢¤½¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥Þ¥¦¥ó¥È»þ¤Ë
326 »ÈÍѤµ¤ì¤¿¥ª¥×¥·¥ç¥ó¡¢¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ç set-group-ID µö²Ä¥Ó¥Ã¥È¤¬
327 Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤É¤¦¤«¡¢¤¬¤¢¤ë¡£
328 .\"O If the file system supports the
329 .\"O .I "\-o\ grpid"
330 .\"O (or, synonymously
331 .\"O .IR "\-o\ bsdgroups" )
332 .\"O and
333 .\"O .I "\-o\ nogrpid"
334 .\"O (or, synonymously
335 .\"O .IR "\-o\ sysvgroups" )
336 .\"O .BR mount (8)
337 .\"O options, then the rules are as follows:
338 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬
339 .BR mount (8)
340 ¥ª¥×¥·¥ç¥ó¤Î
341 .I "\-o\ grpid"
342 .RI ( "\-o\ bsdgroups"
343 ¤âƱµÁ¸ì) ¤È
344 .I "\-o\ nogrpid"
345 .RI ( "\-o sysvgroups"
346 ¤âƱµÁ¸ì) ¤ËÂбþ¤·¤Æ¤¤¤ë¾ì¹ç¡¢¥ë¡¼¥ë¤Ï°Ê²¼¤ÎÄ̤ê¤È¤Ê¤ë¡£
347 .IP * 2
348 .\"O If the file system is mounted with
349 .\"O .IR "\-o\ grpid" ,
350 .\"O then the group of a new file is made
351 .\"O the same as that of the parent directory.
352 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬
353 .I "\-o\ grpid"
354 ÉÕ¤­¤Ç¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¿·¤·¤¤¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×¤Ï
355 ¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î¥°¥ë¡¼¥×¤ÈƱ¤¸¤Ë¤Ê¤ë¡£
356 .IP *
357 .\"O If the file system is mounted with
358 .\"O .IR "\-o\ nogrpid"
359 .\"O and the set-group-ID bit is disabled on the parent directory,
360 .\"O then the group of a new file is made the same as the
361 .\"O process's file system GID.
362 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬
363 .I "\-o\ nogrpid"
364 ÉÕ¤­¤Ç¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤ª¤ê¡¢¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï set-group-ID ¥Ó¥Ã¥È¤¬
365 ̵¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢¿·¤·¤¤¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×¤Ï
366 ¥×¥í¥»¥¹¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à GID ¤ÈƱ¤¸¤Ë¤Ê¤ë¡£
367 .IP *
368 .\"O If the file system is mounted with
369 .\"O .IR "\-o\ nogrpid"
370 .\"O and the set-group-ID bit is enabled on the parent directory,
371 .\"O then the group of a new file is made
372 .\"O the same as that of the parent directory.
373 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬
374 .I "\-o\ nogrpid"
375 ÉÕ¤­¤Ç¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤ª¤ê¡¢¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï set-group-ID ¥Ó¥Ã¥È¤¬
376 Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢¿·¤·¤¤¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×¤Ï
377 ¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î¥°¥ë¡¼¥×¤ÈƱ¤¸¤Ë¤Ê¤ë¡£
378 .PP
379 .\"O As at Linux 2.6.25,
380 .\"O the
381 .\"O .IR "\-o\ grpid"
382 .\"O and
383 .\"O .IR "\-o\ nogrpid"
384 .\"O mount options are supported by ext2, ext3, ext4, and XFS.
385 .\"O File systems that don't support these mount options follow the
386 .\"O .IR "\-o\ nogrpid"
387 .\"O rules.
388 Linux 2.6.25 ¤Ç¤Ï¡¢¥Þ¥¦¥ó¥È¥ª¥×¥·¥ç¥ó
389 .I "\-o\ grpid"
390 ¤È
391 .I "\-o\ nogrpid"
392 ¤ËÂбþ¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï
393 ext2, ext3, ext4, XFS ¤Ç¤¢¤ë¡£
394 ¤³¤ì¤é¤Î¥Þ¥¦¥ó¥È¥ª¥×¥·¥ç¥ó¤ËÂбþ¤·¤Æ¤¤¤Ê¤¤¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¤Ï¡¢
395 .I "\-o\ nogrpid"
396 ¤Ë´Ø¤¹¤ë¥ë¡¼¥ë¤¬Å¬ÍѤµ¤ì¤ë¡£
397 .PP
398 .\"O The
399 .\"O .BR chown ()
400 .\"O semantics are deliberately violated on NFS file systems
401 .\"O which have UID mapping enabled.
402 .\"O Additionally, the semantics of all system
403 .\"O calls which access the file contents are violated, because
404 .\"O .BR chown ()
405 .\"O may cause immediate access revocation on already open files.
406 .\"O Client side
407 .\"O caching may lead to a delay between the time where ownership have
408 .\"O been changed to allow access for a user and the time where the file can
409 .\"O actually be accessed by the user on other clients.
410 .BR chown ()
411 Êý¼°¤Ï UID ¥Þ¥Ã¥Ô¥ó¥°¤ò»ÈÍѤ·¤¿
412 NFS ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤ò¿¯³²¤¹¤ë¡£
413 ¤µ¤é¤Ë¥Õ¥¡¥¤¥ë¤ÎÆâÍƤ˥¢¥¯¥»¥¹¤¹¤ëÁ´¤Æ¤Î¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤ò¿¯³²¤¹¤ë¡£
414 ¤³¤ì¤Ï
415 .BR chown ()
416 ¤¬´û¤Ë¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë
417 ¥¢¥¯¥»¥¹¤ò¤¿¤À¤Á¤Ë¼è¤ê¾Ã¤¹¤³¤È¤Ë¤è¤ë¡£
418 ¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥­¥ã¥Ã¥·¥å¤Ë¤è¤ê½êÍ­¸¢¤¬Êѹ¹¤µ¤ì¤Æ
419 ¥æ¡¼¥¶¡¼¤Î¥¢¥¯¥»¥¹¤¬µö¤·¤¿»þÅÀ¤È¡¢¼ÂºÝ¤Ë¾¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ç¥æ¡¼¥¶¡¼¤Ë¤è¤Ã¤Æ
420 ¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ë»þÅÀ¤È¤Î´Ö¤Ë»þ´Öº¹¤¬¤¢¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
421
422 .\"O In versions of Linux prior to 2.1.81 (and distinct from 2.1.46),
423 .\"O .BR chown ()
424 .\"O did not follow symbolic links.
425 Linux ¤Î 2.1.81 ¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó (Æäˠ2.1.46 °ÊÁ°) ¤Ç¤Ï¡¢
426 .BR chown ()
427 ¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤òÄÉÀפ·¤Ê¤¤¡£
428 .\"O Since Linux 2.1.81,
429 .\"O .BR chown ()
430 .\"O does follow symbolic links, and there is a new system call
431 .\"O .BR lchown ()
432 .\"O that does not follow symbolic links.
433 Linux 2.1.81 °Ê¹ß¤Ç¤Ï
434 .BR chown ()
435 ¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤òÄÉÀפ·¡¢¿·¤¿¤Ê¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë
436 .BR lchown ()
437 ¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤òÄÉÀפ·¤Ê¤¤¡£
438 .\"O Since Linux 2.1.86, this new call (that has the same semantics
439 .\"O as the old
440 .\"O .BR chown ())
441 .\"O has got the same syscall number, and
442 .\"O .BR chown ()
443 .\"O got the newly introduced number.
444 Linux 2.1.86 °Ê¹ß¤Ç¤Ï¤³¤Î¿·¤·¤¤¥³¡¼¥ë (¸Å¤¤
445 .BR chown ()
446 ¤ÈÁ´¤¯Æ±¤¸Æ°ºî¤ò¹Ô¤Ê¤¦) ¤ÏƱ¤¸¥·¥¹¥Æ¥à¥³¡¼¥ëÈÖ¹æ¤ò»ý¤Á
447 .BR chown ()
448 ¤Ï¿·¤·¤¯Æ³Æþ¤µ¤ì¤¿ÈÖ¹æ¤ò»ý¤Ä¡£
449 .\"O .SH EXAMPLE
450 .SH Îã
451 .PP
452 .\"O The following program changes the ownership of the file named in
453 .\"O its second command-line argument to the value specified in its
454 .\"O first command-line argument.
455 .\"O The new owner can be specified either as a numeric user ID,
456 .\"O or as a username (which is converted to a user ID by using
457 .\"O .BR getpwnam (3)
458 .\"O to perform a lookup in the system password file).
459 °Ê²¼¤Î¥×¥í¥°¥é¥à¤Ï¡¢
460 Æó¤ÄÌܤΥ³¥Þ¥ó¥É¥é¥¤¥ó°ú¤­¿ô¤Ç»ØÄꤵ¤ì¤¿Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô¤ò¡¢
461 °ì¤ÄÌܤΥ³¥Þ¥ó¥É¥é¥¤¥ó°ú¤­¿ô¤Ç»ØÄꤵ¤ì¤¿ÃͤËÊѹ¹¤¹¤ë¡£
462 ¿·¤·¤¤½êÍ­¼Ô¤Ï¡¢¿ô»ú¤Î¥æ¡¼¥¶ ID ¤«¥æ¡¼¥¶Ì¾¤Î¤¤¤º¤ì¤«¤Ç»ØÄê¤Ç¤­¤ë
463 (¥æ¡¼¥¶Ì¾¤Ç»ØÄꤷ¤¿¾ì¹ç¤Ë¤Ï¡¢
464 .BR getpwnam (3)
465 ¤ò»È¤Ã¤Æ¥·¥¹¥Æ¥à¤Î¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤Î¸¡º÷¤¬¹Ô¤ï¤ì¡¢
466 ¥æ¡¼¥¶ ID ¤Ø¤ÎÊÑ´¹¤¬¹Ô¤ï¤ì¤ë)¡£
467 .nf
468
469 #include <pwd.h>
470 #include <stdio.h>
471 #include <stdlib.h>
472 #include <unistd.h>
473
474 int
475 main(int argc, char *argv[])
476 {
477     uid_t uid;
478     struct passwd *pwd;
479     char *endptr;
480
481     if (argc != 3 || argv[1][0] == \(aq\\0\(aq) {
482         fprintf(stderr, "%s <owner> <file>\\n", argv[0]);
483         exit(EXIT_FAILURE);
484     }
485
486     uid = strtol(argv[1], &endptr, 10);  /* Allow a numeric string */
487
488     if (*endptr != \(aq\\0\(aq) {         /* Was not pure numeric string */
489         pwd = getpwnam(argv[1]);   /* Try getting UID for username */
490         if (pwd == NULL) {
491             perror("getpwnam");
492             exit(EXIT_FAILURE);
493         }
494
495         uid = pwd\->pw_uid;
496     }
497
498     if (chown(argv[2], uid, \-1) == \-1) {
499         perror("chown");
500         exit(EXIT_FAILURE);
501     }
502
503     exit(EXIT_SUCCESS);
504 }
505 .fi
506 .\"O .SH "SEE ALSO"
507 .SH ´ØÏ¢¹àÌÜ
508 .BR chmod (2),
509 .BR fchownat (2),
510 .BR flock (2),
511 .BR path_resolution (7),
512 .BR symlink (7)