]>
Commit | Line | Data |
---|---|---|
9bccf70c A |
1 | .\" Copyright (c) 1980, 1991, 1993, 1994 |
2 | .\" The Regents of the University of California. All rights reserved. | |
3 | .\" | |
4 | .\" Redistribution and use in source and binary forms, with or without | |
5 | .\" modification, are permitted provided that the following conditions | |
6 | .\" are met: | |
7 | .\" 1. Redistributions of source code must retain the above copyright | |
8 | .\" notice, this list of conditions and the following disclaimer. | |
9 | .\" 2. Redistributions in binary form must reproduce the above copyright | |
10 | .\" notice, this list of conditions and the following disclaimer in the | |
11 | .\" documentation and/or other materials provided with the distribution. | |
12 | .\" 3. All advertising materials mentioning features or use of this software | |
13 | .\" must display the following acknowledgement: | |
14 | .\" This product includes software developed by the University of | |
15 | .\" California, Berkeley and its contributors. | |
16 | .\" 4. Neither the name of the University nor the names of its contributors | |
17 | .\" may be used to endorse or promote products derived from this software | |
18 | .\" without specific prior written permission. | |
19 | .\" | |
20 | .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND | |
21 | .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
22 | .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |
23 | .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE | |
24 | .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | |
25 | .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | |
26 | .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | |
27 | .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | |
28 | .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | |
29 | .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |
30 | .\" SUCH DAMAGE. | |
31 | .\" | |
32 | .\" @(#)chown.2 8.4 (Berkeley) 4/19/94 | |
33 | .\" | |
91447636 | 34 | .Dd April 19, 1994 |
9bccf70c A |
35 | .Dt CHOWN 2 |
36 | .Os | |
37 | .Sh NAME | |
38 | .Nm chown , | |
91447636 | 39 | .Nm fchown , |
fe8ab488 A |
40 | .Nm lchown , |
41 | .Nm fchownat | |
91447636 | 42 | .Nd change owner and group of a file |
9bccf70c | 43 | .Sh SYNOPSIS |
91447636 | 44 | .In unistd.h |
9bccf70c | 45 | .Ft int |
2d21ac55 A |
46 | .Fo chown |
47 | .Fa "const char *path" | |
48 | .Fa "uid_t owner" | |
49 | .Fa "gid_t group" | |
50 | .Fc | |
9bccf70c | 51 | .Ft int |
2d21ac55 A |
52 | .Fo fchown |
53 | .Fa "int fildes" | |
54 | .Fa "uid_t owner" | |
55 | .Fa "gid_t group" | |
56 | .Fc | |
91447636 | 57 | .Ft int |
2d21ac55 A |
58 | .Fo lchown |
59 | .Fa "const char *path" | |
60 | .Fa "uid_t owner" | |
61 | .Fa "gid_t group" | |
62 | .Fc | |
fe8ab488 A |
63 | .Ft int |
64 | .Fn fchownat "int fd" "const char *path" "uid_t owner" "gid_t group" "int flag" | |
9bccf70c | 65 | .Sh DESCRIPTION |
91447636 | 66 | The owner ID and group ID of the file |
9bccf70c A |
67 | named by |
68 | .Fa path | |
69 | or referenced by | |
2d21ac55 | 70 | .Fa fildes |
9bccf70c A |
71 | is changed as specified by the arguments |
72 | .Fa owner | |
91447636 | 73 | and |
9bccf70c A |
74 | .Fa group . |
75 | The owner of a file may change the | |
76 | .Fa group | |
77 | to a group of which | |
78 | he or she is a member, | |
79 | but the change | |
80 | .Fa owner | |
81 | capability is restricted to the super-user. | |
82 | .Pp | |
91447636 A |
83 | The |
84 | .Fn chown | |
85 | system call | |
9bccf70c A |
86 | clears the set-user-id and set-group-id bits |
87 | on the file | |
88 | to prevent accidental or mischievous creation of | |
91447636 A |
89 | set-user-id and set-group-id programs if not executed |
90 | by the super-user. | |
91 | The | |
92 | .Fn chown | |
93 | system call | |
94 | follows symbolic links to operate on the target of the link | |
95 | rather than the link itself. | |
9bccf70c | 96 | .Pp |
91447636 A |
97 | The |
98 | .Fn fchown | |
99 | system call | |
9bccf70c A |
100 | is particularly useful when used in conjunction |
101 | with the file locking primitives (see | |
102 | .Xr flock 2 ) . | |
103 | .Pp | |
91447636 A |
104 | The |
105 | .Fn lchown | |
106 | system call is similar to | |
107 | .Fn chown | |
108 | but does not follow symbolic links. | |
109 | .Pp | |
fe8ab488 A |
110 | The |
111 | .Fn fchownat | |
112 | system call is equivalent to the | |
113 | .Fn chown | |
114 | and | |
115 | .Fn lchown | |
116 | except in the case where | |
117 | .Fa path | |
118 | specifies a relative path. | |
119 | In this case the file to be changed is determined relative to the directory | |
120 | associated with the file descriptor | |
121 | .Fa fd | |
122 | instead of the current working directory. | |
123 | .Pp | |
124 | Values for | |
125 | .Fa flag | |
126 | are constructed by a bitwise-inclusive OR of flags from the following | |
127 | list, defined in | |
128 | .In fcntl.h : | |
129 | .Bl -tag -width indent | |
130 | .It Dv AT_SYMLINK_NOFOLLOW | |
131 | If | |
132 | .Fa path | |
133 | names a symbolic link, ownership of the symbolic link is changed. | |
134 | .El | |
135 | .Pp | |
136 | If | |
137 | .Fn fchownat | |
138 | is passed the special value | |
139 | .Dv AT_FDCWD | |
140 | in the | |
141 | .Fa fd | |
142 | parameter, the current working directory is used and the behavior is identical | |
143 | to a call to | |
144 | .Fn chown | |
145 | or | |
146 | .Fn lchown | |
147 | respectively, depending on whether or not the | |
148 | .Dv AT_SYMLINK_NOFOLLOW | |
149 | bit is set in the | |
150 | .Fa flag | |
151 | argument. | |
152 | .Pp | |
9bccf70c A |
153 | One of the owner or group id's |
154 | may be left unchanged by specifying it as -1. | |
155 | .Sh RETURN VALUES | |
91447636 | 156 | .Rv -std |
9bccf70c | 157 | .Sh ERRORS |
2d21ac55 | 158 | .Pp |
91447636 A |
159 | The |
160 | .Fn chown | |
161 | and | |
162 | .Fn lchown | |
2d21ac55 | 163 | system calls will fail if: |
9bccf70c | 164 | .Bl -tag -width Er |
2d21ac55 | 165 | .\" ========== |
9bccf70c A |
166 | .It Bq Er EACCES |
167 | Search permission is denied for a component of the path prefix. | |
9bccf70c | 168 | .It Bq Er EFAULT |
91447636 A |
169 | The |
170 | .Fa path | |
171 | argument | |
9bccf70c | 172 | points outside the process's allocated address space. |
2d21ac55 A |
173 | .\" ========== |
174 | .It Bq Er ELOOP | |
175 | Too many symbolic links are encountered in translating the pathname. | |
176 | This is taken to be indicative of a looping symbolic link. | |
177 | .\" ========== | |
178 | .It Bq Er ENAMETOOLONG | |
179 | A component of a pathname exceeded 255 characters, | |
180 | or an entire path name exceeded 1023 characters. | |
181 | .\" ========== | |
182 | .It Bq Er ENOENT | |
183 | A component of | |
184 | .Fa path | |
185 | does not exist. | |
186 | .\" ========== | |
187 | .It Bq Er ENOTDIR | |
188 | A component of the path prefix is not a directory. | |
9bccf70c A |
189 | .El |
190 | .Pp | |
91447636 A |
191 | The |
192 | .Fn fchown | |
193 | system call will fail if: | |
9bccf70c | 194 | .Bl -tag -width Er |
2d21ac55 | 195 | .\" ========== |
9bccf70c | 196 | .It Bq Er EBADF |
91447636 | 197 | The |
2d21ac55 | 198 | .Fa fildes |
91447636 | 199 | argument |
9bccf70c | 200 | does not refer to a valid descriptor. |
2d21ac55 | 201 | .\" ========== |
9bccf70c | 202 | .It Bq Er EINVAL |
91447636 | 203 | The |
2d21ac55 | 204 | .Fa fildes |
91447636 | 205 | argument |
9bccf70c | 206 | refers to a socket, not a file. |
2d21ac55 A |
207 | .El |
208 | .Pp | |
209 | Any of these calls will fail if: | |
210 | .Bl -tag -width Er | |
211 | .\" ========== | |
212 | .It Bq Er EINTR | |
213 | Its execution is interrupted by a signal. | |
214 | .\" ========== | |
215 | .It Bq Er EIO | |
216 | An I/O error occurs while reading from or writing to the file system. | |
217 | .\" ========== | |
9bccf70c | 218 | .It Bq Er EPERM |
2d21ac55 A |
219 | The effective user ID does not match the owner of the file |
220 | and the calling process does not have appropriate (i.e., root) privileges. | |
221 | .\" ========== | |
9bccf70c A |
222 | .It Bq Er EROFS |
223 | The named file resides on a read-only file system. | |
9bccf70c | 224 | .El |
fe8ab488 A |
225 | .Pp |
226 | In addition to the errors specified for | |
227 | .Fn chown | |
228 | and | |
229 | .Fn lchown , | |
230 | the | |
231 | .Fn fchownat | |
232 | system call may fail if: | |
233 | .Bl -tag -width Er | |
234 | .It Bq Er EBADF | |
235 | The | |
236 | .Fa path | |
237 | argument does not specify an absolute path and the | |
238 | .Fa fd | |
239 | argument is neither | |
240 | .Dv AT_FDCWD | |
241 | nor a valid file descriptor open for searching. | |
242 | .It Bq Er EINVAL | |
243 | The value of the | |
244 | .Fa flag | |
245 | argument is not valid. | |
246 | .It Bq Er ENOTDIR | |
247 | The | |
248 | .Fa path | |
249 | argument is not an absolute path and | |
250 | .Fa fd | |
251 | is neither | |
252 | .Dv AT_FDCWD | |
253 | nor a file descriptor associated with a directory. | |
254 | .El | |
9bccf70c | 255 | .Sh SEE ALSO |
9bccf70c A |
256 | .Xr chgrp 1 , |
257 | .Xr chmod 2 , | |
91447636 A |
258 | .Xr flock 2 , |
259 | .Xr chown 8 | |
9bccf70c A |
260 | .Sh STANDARDS |
261 | The | |
262 | .Fn chown | |
91447636 A |
263 | system call is expected to conform to |
264 | .St -p1003.1-90 . | |
fe8ab488 A |
265 | The |
266 | .Fn fchownat | |
267 | system call is expected to conform to POSIX.1-2008 . | |
9bccf70c A |
268 | .Sh HISTORY |
269 | The | |
91447636 A |
270 | .Fn chown |
271 | function appeared in | |
272 | .At v7 . | |
273 | The | |
9bccf70c | 274 | .Fn fchown |
91447636 | 275 | system call appeared in |
9bccf70c A |
276 | .Bx 4.2 . |
277 | .Pp | |
278 | The | |
279 | .Fn chown | |
280 | and | |
281 | .Fn fchown | |
91447636 | 282 | system calls were changed to follow symbolic links in |
9bccf70c | 283 | .Bx 4.4 . |
91447636 A |
284 | The |
285 | .Fn lchown | |
286 | system call was added in | |
287 | .Fx 3.0 | |
288 | to compensate for the loss of functionality. | |
fe8ab488 A |
289 | .Pp |
290 | The | |
291 | .Fn fchownat | |
292 | system call appeared in OS X 10.10 |