Penguin
Annotated edit history of chown(2) version 3, including all changes. View license author blame.
Rev Author # Line
1 perry 1 CHOWN
2 !!!CHOWN
3 ----
4 !!NAME
5
2 PerryLorier 6 chown - change ownership of a file
1 perry 7 !!SYNOPSIS
2 PerryLorier 8 __#include <sys/types.h>__
9 __#include <unistd.h>__
1 perry 10
3 PerryLorier 11 __int chown(const char *__''path''__, uid_t__ ''owner''__, gid_t__ ''group''__);__
1 perry 12
13 !!DESCRIPTION
14
2 PerryLorier 15 The owner of the file specified by ''path''. Only the super-user may change the owner of a file. The owner of a file may change the group of the file to any group of which that owner is a member. The super-user may change the group arbitrarily.
1 perry 16
2 PerryLorier 17 If the ''owner'' or ''group'' is specified as -1, then that ID is not changed.
1 perry 18
2 PerryLorier 19 When the owner or group of an executable file are changed by a non-super-user, the S_ISUID and S_ISGID mode bits are cleared. POSIX does not specify whether this also should happen when root does the ''chown''; the Linux behaviour depends on the kernel version. In case of a non-group-executable file (with clear S_IXGRP bit) the S_ISGID bit indicates mandatory locking, and is not cleared by a ''chown''.
1 perry 20
21 !!RETURN VALUE
2 PerryLorier 22 On success, zero is returned. On error, -1 is returned, and ''errno'' is set appropriately.
1 perry 23 !!ERRORS
24
2 PerryLorier 25 Depending on the file system, other errors can be returned. The more general errors for __chown__ are listed below:
1 perry 26
2 PerryLorier 27 ;[EPERM]: The effective UID does not match the owner of the file, and is not zero; or the ''owner'' or ''group'' were specified incorrectly.
28 ;[EROFS]: The named file resides on a read-only file system.
29 ;[EFAULT]: ''path'' points outside your accessible address space.
30 ;[ENAMETOOLONG]: ''path'' is too long.
31 ;[ENOENT]: The file does not exist.
32 ;[ENOMEM]: Insufficient kernel memory was available.
33 ;[ENOTDIR]: A component of the path prefix is not a directory.
34 ;[EACCES]: Search permission is denied on a component of the path prefix.
35 ;[ELOOP]: Too many symbolic links were encountered in resolving ''path''.
36 ;[EIO]: A low-level I/O error occurred while modifying the inode.
1 perry 37 !!NOTES
38
2 PerryLorier 39 In versions of Linux prior to 2.1.81 (and distinct from 2.1.46), __chown__ did not follow symbolic links. Since Linux 2.1.81, __chown__ does follow symbolic links, and there is a new system call lchown(2) that does not follow symbolic links. Since Linux 2.1.86, this new call (that has the same semantics as the old __chown__) has got the same syscall number, and __chown__ got the newly introduced number.
1 perry 40
41 !!CONFORMING TO
42
2 PerryLorier 43 The __chown__ call conforms to SVr4, SVID, POSIX, X/OPEN. The 4.4BSD version can only be used by the superuser (that is, ordinary users cannot give away files). SVr4 documents [EINVAL], [EINTR], [ENOLINK] and [EMULTIHOP] returns, but no [ENOMEM]. POSIX.1 does not document [ENOMEM] or [ELOOP] error conditions.
1 perry 44
45 !!RESTRICTIONS
46
2 PerryLorier 47 The __chown__() semantics are deliberately violated on NFS file systems which have UID mapping enabled. Additionally, the semantics of all system calls which access the file contents are violated, because __chown__() may cause immediate access revocation on already open files. Client side caching may lead to a delay between the time where ownership have been changed to allow access for a user and the time where the file can actually be accessed by the user on other clients.
1 perry 48 !!SEE ALSO
49
2 PerryLorier 50 chmod(2), flock(2), fchown(2), lchown(2)
1 perry 51 ----
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.

PHP Warning

lib/blame.php:177: Warning: Invalid argument supplied for foreach() (...repeated 5 times)