]>
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 | |
39037602 | 85 | system call clears the set-user-id and set-group-id bits on the file. |
91447636 A |
86 | The |
87 | .Fn chown | |
88 | system call | |
89 | follows symbolic links to operate on the target of the link | |
90 | rather than the link itself. | |
9bccf70c | 91 | .Pp |
91447636 A |
92 | The |
93 | .Fn fchown | |
94 | system call | |
9bccf70c A |
95 | is particularly useful when used in conjunction |
96 | with the file locking primitives (see | |
97 | .Xr flock 2 ) . | |
98 | .Pp | |
91447636 A |
99 | The |
100 | .Fn lchown | |
101 | system call is similar to | |
102 | .Fn chown | |
103 | but does not follow symbolic links. | |
104 | .Pp | |
fe8ab488 A |
105 | The |
106 | .Fn fchownat | |
107 | system call is equivalent to the | |
108 | .Fn chown | |
109 | and | |
110 | .Fn lchown | |
111 | except in the case where | |
112 | .Fa path | |
113 | specifies a relative path. | |
114 | In this case the file to be changed is determined relative to the directory | |
115 | associated with the file descriptor | |
116 | .Fa fd | |
117 | instead of the current working directory. | |
118 | .Pp | |
119 | Values for | |
120 | .Fa flag | |
121 | are constructed by a bitwise-inclusive OR of flags from the following | |
122 | list, defined in | |
123 | .In fcntl.h : | |
124 | .Bl -tag -width indent | |
125 | .It Dv AT_SYMLINK_NOFOLLOW | |
126 | If | |
127 | .Fa path | |
128 | names a symbolic link, ownership of the symbolic link is changed. | |
129 | .El | |
130 | .Pp | |
131 | If | |
132 | .Fn fchownat | |
133 | is passed the special value | |
134 | .Dv AT_FDCWD | |
135 | in the | |
136 | .Fa fd | |
137 | parameter, the current working directory is used and the behavior is identical | |
138 | to a call to | |
139 | .Fn chown | |
140 | or | |
141 | .Fn lchown | |
142 | respectively, depending on whether or not the | |
143 | .Dv AT_SYMLINK_NOFOLLOW | |
144 | bit is set in the | |
145 | .Fa flag | |
146 | argument. | |
147 | .Pp | |
9bccf70c A |
148 | One of the owner or group id's |
149 | may be left unchanged by specifying it as -1. | |
150 | .Sh RETURN VALUES | |
91447636 | 151 | .Rv -std |
9bccf70c | 152 | .Sh ERRORS |
2d21ac55 | 153 | .Pp |
91447636 A |
154 | The |
155 | .Fn chown | |
156 | and | |
157 | .Fn lchown | |
2d21ac55 | 158 | system calls will fail if: |
9bccf70c | 159 | .Bl -tag -width Er |
2d21ac55 | 160 | .\" ========== |
9bccf70c A |
161 | .It Bq Er EACCES |
162 | Search permission is denied for a component of the path prefix. | |
9bccf70c | 163 | .It Bq Er EFAULT |
91447636 A |
164 | The |
165 | .Fa path | |
166 | argument | |
9bccf70c | 167 | points outside the process's allocated address space. |
2d21ac55 A |
168 | .\" ========== |
169 | .It Bq Er ELOOP | |
170 | Too many symbolic links are encountered in translating the pathname. | |
171 | This is taken to be indicative of a looping symbolic link. | |
172 | .\" ========== | |
173 | .It Bq Er ENAMETOOLONG | |
174 | A component of a pathname exceeded 255 characters, | |
175 | or an entire path name exceeded 1023 characters. | |
176 | .\" ========== | |
177 | .It Bq Er ENOENT | |
178 | A component of | |
179 | .Fa path | |
180 | does not exist. | |
181 | .\" ========== | |
182 | .It Bq Er ENOTDIR | |
183 | A component of the path prefix is not a directory. | |
9bccf70c A |
184 | .El |
185 | .Pp | |
91447636 A |
186 | The |
187 | .Fn fchown | |
188 | system call will fail if: | |
9bccf70c | 189 | .Bl -tag -width Er |
2d21ac55 | 190 | .\" ========== |
9bccf70c | 191 | .It Bq Er EBADF |
91447636 | 192 | The |
2d21ac55 | 193 | .Fa fildes |
91447636 | 194 | argument |
9bccf70c | 195 | does not refer to a valid descriptor. |
2d21ac55 | 196 | .\" ========== |
9bccf70c | 197 | .It Bq Er EINVAL |
91447636 | 198 | The |
2d21ac55 | 199 | .Fa fildes |
91447636 | 200 | argument |
9bccf70c | 201 | refers to a socket, not a file. |
2d21ac55 A |
202 | .El |
203 | .Pp | |
204 | Any of these calls will fail if: | |
205 | .Bl -tag -width Er | |
206 | .\" ========== | |
207 | .It Bq Er EINTR | |
208 | Its execution is interrupted by a signal. | |
209 | .\" ========== | |
210 | .It Bq Er EIO | |
211 | An I/O error occurs while reading from or writing to the file system. | |
212 | .\" ========== | |
9bccf70c | 213 | .It Bq Er EPERM |
2d21ac55 A |
214 | The effective user ID does not match the owner of the file |
215 | and the calling process does not have appropriate (i.e., root) privileges. | |
216 | .\" ========== | |
9bccf70c A |
217 | .It Bq Er EROFS |
218 | The named file resides on a read-only file system. | |
9bccf70c | 219 | .El |
fe8ab488 A |
220 | .Pp |
221 | In addition to the errors specified for | |
222 | .Fn chown | |
223 | and | |
224 | .Fn lchown , | |
225 | the | |
226 | .Fn fchownat | |
227 | system call may fail if: | |
228 | .Bl -tag -width Er | |
229 | .It Bq Er EBADF | |
230 | The | |
231 | .Fa path | |
232 | argument does not specify an absolute path and the | |
233 | .Fa fd | |
234 | argument is neither | |
235 | .Dv AT_FDCWD | |
236 | nor a valid file descriptor open for searching. | |
237 | .It Bq Er EINVAL | |
238 | The value of the | |
239 | .Fa flag | |
240 | argument is not valid. | |
241 | .It Bq Er ENOTDIR | |
242 | The | |
243 | .Fa path | |
244 | argument is not an absolute path and | |
245 | .Fa fd | |
246 | is neither | |
247 | .Dv AT_FDCWD | |
248 | nor a file descriptor associated with a directory. | |
249 | .El | |
9bccf70c | 250 | .Sh SEE ALSO |
9bccf70c A |
251 | .Xr chgrp 1 , |
252 | .Xr chmod 2 , | |
91447636 A |
253 | .Xr flock 2 , |
254 | .Xr chown 8 | |
9bccf70c A |
255 | .Sh STANDARDS |
256 | The | |
257 | .Fn chown | |
91447636 A |
258 | system call is expected to conform to |
259 | .St -p1003.1-90 . | |
fe8ab488 A |
260 | The |
261 | .Fn fchownat | |
262 | system call is expected to conform to POSIX.1-2008 . | |
9bccf70c A |
263 | .Sh HISTORY |
264 | The | |
91447636 A |
265 | .Fn chown |
266 | function appeared in | |
267 | .At v7 . | |
268 | The | |
9bccf70c | 269 | .Fn fchown |
91447636 | 270 | system call appeared in |
9bccf70c A |
271 | .Bx 4.2 . |
272 | .Pp | |
273 | The | |
274 | .Fn chown | |
275 | and | |
276 | .Fn fchown | |
91447636 | 277 | system calls were changed to follow symbolic links in |
9bccf70c | 278 | .Bx 4.4 . |
91447636 A |
279 | The |
280 | .Fn lchown | |
281 | system call was added in | |
282 | .Fx 3.0 | |
283 | to compensate for the loss of functionality. | |
fe8ab488 A |
284 | .Pp |
285 | The | |
286 | .Fn fchownat | |
287 | system call appeared in OS X 10.10 |