1 .\" Hey Emacs! This file is -*- nroff -*- source.
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>
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.
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.
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
24 .\" Formatted or processed versions of this manual, if unaccompanied by
25 .\" the source, must acknowledge the copyright and authors of this work.
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).
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
47 .TH CHOWN 2 2010-09-26 "Linux" "Linux Programmer's Manual"
50 .\"O chown, fchown, lchown \- change ownership of a file
51 chown, fchown, lchown \- ¥Õ¥¡¥¤¥ë¤Î½êͼԤòÊѹ¹¤¹¤ë
54 .B #include <unistd.h>
56 .BI "int chown(const char *" path ", uid_t " owner ", gid_t " group );
58 .BI "int fchown(int " fd ", uid_t " owner ", gid_t " group );
60 .BI "int lchown(const char *" path ", uid_t " owner ", gid_t " group );
63 .\"O Feature Test Macro Requirements for glibc (see
64 .\"O .BR feature_test_macros (7)):
65 glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
66 .RB ( feature_test_macros (7)
75 _BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 ||
76 _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
78 .\"O || /* Since glibc 2.12: */ _POSIX_C_SOURCE\ >=\ 200809L
79 || /* glibc 2.12 °Ê¹ß: */ _POSIX_C_SOURCE\ >=\ 200809L
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 ¥·¥¹¥Æ¥à¥³¡¼¥ë´Ö¤Î°ã¤¤¤Ï¡¢¥Õ¥¡¥¤¥ë¤Î»ØÄê¤Î»ÅÊý¤À¤±¤Ç¤¢¤ë¡£
91 .\"O changes the ownership of the file specified by
93 .\"O which is dereferenced if it is a symbolic link.
97 ¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤Î½ê͸¢¤òÊѹ¹¤¹¤ë¡£
99 ¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Î¾ì¹ç¤Ï¡¢¥ê¥ó¥¯¤ÎŸ³«¤¬¹Ô¤ï¤ì¤ë¡£
102 .\"O changes the ownership of the file referred to by the open file descriptor
105 ¤Ï¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿
107 ¤Ë¤è¤ê»²¾È¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤Î½ê͸¢¤òÊѹ¹¤¹¤ë¡£
112 .\"O but does not dereference symbolic links.
116 ¤ÈƱ¤¸¤À¤¬¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤òŸ³«¤·¤Ê¤¤ÅÀ¤¬°Û¤Ê¤ë¡£
118 .\"O Only a privileged process (Linux: one with the
120 .\"O capability) may change the owner of a file.
121 Æø¢¤ò»ý¤Ä¥×¥í¥»¥¹ (Linux ¤Ç¤Ï
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
131 .\"O may change the group arbitrarily.
134 ¤ò»ý¤Ä¥×¥í¥»¥¹¤Ï¡¢Ç¤°Õ¤Î¥°¥ë¡¼¥×¤ËÊѹ¹¤Ç¤¤ë¡£
140 .\"O is specified as \-1, then that ID is not changed.
144 ¤Ë \-1 ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¤½¤ì¤é¤Î ID ¤ÏÊѹ¹¤µ¤ì¤Ê¤¤¡£
146 .\"O When the owner or group of an executable file are
147 .\"O changed by an unprivileged user the
151 .\"O mode bits are cleared.
152 .\"O POSIX does not specify whether
153 .\"O this also should happen when root does the
155 ÈóÆø¢¥æ¡¼¥¶¡¼¤Ë¤è¤ê¼Â¹Ô¥Õ¥¡¥¤¥ë¤Î½êͼԤޤ¿¤Ï¥°¥ë¡¼¥×¤¬
160 ¥â¡¼¥É¥Ó¥Ã¥È¤Ï¥¯¥ê¥¢¤µ¤ì¤ë¡£
161 POSIX ¤Ï¤³¤ÎÆ°ºî¤ä¥ë¡¼¥È¤¬
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
177 .\"O bit is not set) the
179 .\"O bit indicates mandatory locking, and is not cleared by a
181 È󥰥롼¥×¼Â¹Ô¥Õ¥¡¥¤¥ë
183 ¥Ó¥Ã¥È¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¥Õ¥¡¥¤¥ë) ¤Î¾ì¹ç¤Ë¤Ï
185 ¥Ó¥Ã¥È¤Ï¶¯À©¥í¥Ã¥¯ (mandatory locking) ¤ò°ÕÌ£¤·¤Æ¤¤¤ë¡£
189 .\"O .SH "RETURN VALUE"
191 .\"O On success, zero is returned.
192 .\"O On error, \-1 is returned, and
194 .\"O is set appropriately.
195 À®¸ù¤¹¤ë¤È¡¢0 ¤òÊÖ¤¹¡£
196 ¼ºÇÔ¤¹¤ë¤È¡¢\-1 ¤òÊÖ¤·¡¢
198 ¤ËŬÀÚ¤ÊÃͤòÀßÄꤹ¤ë¡£
201 .\"O Depending on the file system, other errors can be returned.
202 .\"O The more general errors for
204 .\"O are listed below.
205 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¤Ï¾¤Î¥¨¥é¡¼¤¬ÊÖ¤µ¤ì¤ë»ö¤¬¤¢¤ë¡£
207 ¤Ç°ìÈÌŪ¤Ê¥¨¥é¡¼¤ò°Ê²¼¤Ëµó¤²¤ë¡£
210 .\"O Search permission is denied on a component of the path prefix.
212 .\"O .BR path_resolution (7).)
214 ¤Î¹½À®Í×ÁǤ˸¡º÷µö²Ä (search permission) ¤¬¤Ê¤¤
215 .RB ( path_resolution (7)
220 .\"O points outside your accessible address space.
222 ¤¬³ä¤êÅö¤Æ¤é¤ì¤¿¥¢¥É¥ì¥¹¶õ´Ö³°¤ò»Ø¤·¤Æ¤¤¤ë¡£
225 .\"O Too many symbolic links were encountered in resolving
228 ¤ò²ò·è¤¹¤ëºÝ¤ËÁø¶ø¤·¤¿¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤¬Â¿²á¤®¤ë¡£
237 .\"O The file does not exist.
238 ¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤¤¡£
241 .\"O Insufficient kernel memory was available.
242 ¥«¡¼¥Í¥ë¤Ë½½Ê¬¤Ê¥á¥â¥ê¤¬¤Ê¤¤¡£
245 .\"O A component of the path prefix is not a directory.
247 ¤Î¹½À®Í×ÁǤ¬¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ê¤¤¡£
250 .\"O The calling process did not have the required permissions
251 .\"O (see above) to change owner and/or group.
252 ¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤Ë½êͼԤޤ¿¤Ï¥°¥ë¡¼¥× (¤â¤·¤¯¤Ï¤½¤ÎξÊý) ¤òÊѹ¹¤¹¤ë¤¿¤á¤Ë
253 Í׵ᤵ¤ì¤ëµö²Ä (¾åµ¤ò»²¾È) ¤¬¤Ê¤¤¡£
256 .\"O The named file resides on a read-only file system.
257 »ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤¬Æɤ߹þ¤ßÀìÍÑ (read-only) ¤Î¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¾å¤Ë¤¢¤ë¡£
259 .\"O The general errors for
261 .\"O are listed below:
263 ¤Ç°ìÈÌŪ¤Ê¥¨¥é¡¼¤ò°Ê²¼¤Ëµó¤²¤ë:
266 .\"O The descriptor is not valid.
267 ¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤¬Í¸ú¤Ç¤Ê¤¤¡£
270 .\"O A low-level I/O error occurred while modifying the inode.
271 i ¥Î¡¼¥É (inode) ¤òÊѹ¹¤¹¤ëºÝ¤ËÄã¥ì¥Ù¥ë I/O ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
284 .\"O .SH "CONFORMING TO"
286 4.4BSD, SVr4, POSIX.1-2001.
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 (¤Ä¤Þ¤ê¡¢ÉáÄ̤Υ桼¥¶¡¼¤Ï¥Õ¥¡¥¤¥ë¤ò¼êÊü¤¹¤³¤È¤Ï¤Ç¤¤Ê¤¤)¡£
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.
296 .\" SVr4 ¤Ë¤Ï EINVAL, EINTR, ENOLINK, EMULTIHOP ¤òÊÖ¤¹¤ÈµºÜ¤µ¤ì¤Æ¤¤¤ë¤¬¡¢
298 .\" POSIX.1 ¤Ë¤Ï ENOMEM, ELOOP ¤Ë¤Ä¤¤¤ÆµºÜ¤Ï¤Ê¤¤¡£
300 .\"O .\" SVr4 documents additional EINVAL, EIO, EINTR, and ENOLINK
301 .\"O .\" error conditions.
303 .\" SVr4 ¤Ë¤Ï¾¤Ë EINVAL, EIO, EINTR, ENOLINK ¥¨¥é¡¼¾õÂ֤ˤĤ¤¤Æ¤ÎµºÜ¤¬¤¢¤ë¡£
306 .\"O When a new file is created (by, for example,
310 .\"O its owner is made the same as the file system user ID of the
311 .\"O creating process.
315 ¤Ê¤É¤Ë¤è¤ê) ¿·¤·¤¤¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤ë¤È¤¡¢
316 ¤½¤Î½êͼԤϸƤӽФ·¤¿¥×¥í¥»¥¹¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¡¦¥æ¡¼¥¶ ID ¤È
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 ¤½¤Î¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×¤Ï¤¤¤¯¤Ä¤«¤ÎÍ×°ø¤Ë¤è¤ê·èÄꤵ¤ì¤ë¡£
325 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¼ïÎà¡¢¤½¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥Þ¥¦¥ó¥È»þ¤Ë
326 »ÈÍѤµ¤ì¤¿¥ª¥×¥·¥ç¥ó¡¢¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ç set-group-ID µö²Ä¥Ó¥Ã¥È¤¬
327 ͸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤É¤¦¤«¡¢¤¬¤¢¤ë¡£
328 .\"O If the file system supports the
330 .\"O (or, synonymously
331 .\"O .IR "\-o\ bsdgroups" )
333 .\"O .I "\-o\ nogrpid"
334 .\"O (or, synonymously
335 .\"O .IR "\-o\ sysvgroups" )
337 .\"O options, then the rules are as follows:
342 .RI ( "\-o\ bsdgroups"
345 .RI ( "\-o sysvgroups"
346 ¤âƱµÁ¸ì) ¤ËÂбþ¤·¤Æ¤¤¤ë¾ì¹ç¡¢¥ë¡¼¥ë¤Ï°Ê²¼¤ÎÄ̤ê¤È¤Ê¤ë¡£
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.
354 ÉÕ¤¤Ç¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¿·¤·¤¤¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×¤Ï
355 ¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î¥°¥ë¡¼¥×¤ÈƱ¤¸¤Ë¤Ê¤ë¡£
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.
364 ÉÕ¤¤Ç¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤ª¤ê¡¢¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï set-group-ID ¥Ó¥Ã¥È¤¬
365 ̵¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢¿·¤·¤¤¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×¤Ï
366 ¥×¥í¥»¥¹¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à GID ¤ÈƱ¤¸¤Ë¤Ê¤ë¡£
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.
375 ÉÕ¤¤Ç¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤ª¤ê¡¢¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï set-group-ID ¥Ó¥Ã¥È¤¬
376 ͸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢¿·¤·¤¤¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×¤Ï
377 ¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î¥°¥ë¡¼¥×¤ÈƱ¤¸¤Ë¤Ê¤ë¡£
379 .\"O As at Linux 2.6.25,
381 .\"O .IR "\-o\ grpid"
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"
388 Linux 2.6.25 ¤Ç¤Ï¡¢¥Þ¥¦¥ó¥È¥ª¥×¥·¥ç¥ó
392 ¤ËÂбþ¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï
393 ext2, ext3, ext4, XFS ¤Ç¤¢¤ë¡£
394 ¤³¤ì¤é¤Î¥Þ¥¦¥ó¥È¥ª¥×¥·¥ç¥ó¤ËÂбþ¤·¤Æ¤¤¤Ê¤¤¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¤Ï¡¢
396 ¤Ë´Ø¤¹¤ë¥ë¡¼¥ë¤¬Å¬ÍѤµ¤ì¤ë¡£
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
405 .\"O may cause immediate access revocation on already open files.
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.
411 Êý¼°¤Ï UID ¥Þ¥Ã¥Ô¥ó¥°¤ò»ÈÍѤ·¤¿
412 NFS ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤ò¿¯³²¤¹¤ë¡£
413 ¤µ¤é¤Ë¥Õ¥¡¥¤¥ë¤ÎÆâÍƤ˥¢¥¯¥»¥¹¤¹¤ëÁ´¤Æ¤Î¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤ò¿¯³²¤¹¤ë¡£
416 ¤¬´û¤Ë¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë
417 ¥¢¥¯¥»¥¹¤ò¤¿¤À¤Á¤Ë¼è¤ê¾Ã¤¹¤³¤È¤Ë¤è¤ë¡£
418 ¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥¥ã¥Ã¥·¥å¤Ë¤è¤ê½ê͸¢¤¬Êѹ¹¤µ¤ì¤Æ
419 ¥æ¡¼¥¶¡¼¤Î¥¢¥¯¥»¥¹¤¬µö¤·¤¿»þÅÀ¤È¡¢¼ÂºÝ¤Ë¾¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ç¥æ¡¼¥¶¡¼¤Ë¤è¤Ã¤Æ
420 ¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤Ç¤¤ë»þÅÀ¤È¤Î´Ö¤Ë»þ´Öº¹¤¬¤¢¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
422 .\"O In versions of Linux prior to 2.1.81 (and distinct from 2.1.46),
424 .\"O did not follow symbolic links.
425 Linux ¤Î 2.1.81 ¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó (ÆÃ¤Ë 2.1.46 °ÊÁ°) ¤Ç¤Ï¡¢
427 ¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤òÄÉÀפ·¤Ê¤¤¡£
428 .\"O Since Linux 2.1.81,
430 .\"O does follow symbolic links, and there is a new system call
432 .\"O that does not follow symbolic links.
433 Linux 2.1.81 °Ê¹ß¤Ç¤Ï
435 ¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤òÄÉÀפ·¡¢¿·¤¿¤Ê¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë
437 ¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤òÄÉÀפ·¤Ê¤¤¡£
438 .\"O Since Linux 2.1.86, this new call (that has the same semantics
441 .\"O has got the same syscall number, and
443 .\"O got the newly introduced number.
444 Linux 2.1.86 °Ê¹ß¤Ç¤Ï¤³¤Î¿·¤·¤¤¥³¡¼¥ë (¸Å¤¤
446 ¤ÈÁ´¤¯Æ±¤¸Æ°ºî¤ò¹Ô¤Ê¤¦) ¤ÏƱ¤¸¥·¥¹¥Æ¥à¥³¡¼¥ëÈÖ¹æ¤ò»ý¤Á
448 ¤Ï¿·¤·¤¯Æ³Æþ¤µ¤ì¤¿ÈÖ¹æ¤ò»ý¤Ä¡£
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).
460 Æó¤ÄÌܤΥ³¥Þ¥ó¥É¥é¥¤¥ó°ú¤¿ô¤Ç»ØÄꤵ¤ì¤¿Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Î½êͼԤò¡¢
461 °ì¤ÄÌܤΥ³¥Þ¥ó¥É¥é¥¤¥ó°ú¤¿ô¤Ç»ØÄꤵ¤ì¤¿ÃͤËÊѹ¹¤¹¤ë¡£
462 ¿·¤·¤¤½êͼԤϡ¢¿ô»ú¤Î¥æ¡¼¥¶ ID ¤«¥æ¡¼¥¶Ì¾¤Î¤¤¤º¤ì¤«¤Ç»ØÄê¤Ç¤¤ë
463 (¥æ¡¼¥¶Ì¾¤Ç»ØÄꤷ¤¿¾ì¹ç¤Ë¤Ï¡¢
465 ¤ò»È¤Ã¤Æ¥·¥¹¥Æ¥à¤Î¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤Î¸¡º÷¤¬¹Ô¤ï¤ì¡¢
466 ¥æ¡¼¥¶ ID ¤Ø¤ÎÊÑ´¹¤¬¹Ô¤ï¤ì¤ë)¡£
475 main(int argc, char *argv[])
481 if (argc != 3 || argv[1][0] == \(aq\\0\(aq) {
482 fprintf(stderr, "%s <owner> <file>\\n", argv[0]);
486 uid = strtol(argv[1], &endptr, 10); /* Allow a numeric string */
488 if (*endptr != \(aq\\0\(aq) { /* Was not pure numeric string */
489 pwd = getpwnam(argv[1]); /* Try getting UID for username */
498 if (chown(argv[2], uid, \-1) == \-1) {
511 .BR path_resolution (7),