MAN page from Old RedHat 5.X man-pages-1.19-1.noarch.rpm
CHOWN
Section: Linux Programmer's Manual (2)
Updated: May 18, 1997
Index NAME
chown, fchown, lchown - change ownership of a file
SYNOPSIS
#include <sys/types.h>#include <unistd.h>int chown(const char *path, uid_t owner, gid_t group);
int fchown(int fd, uid_t owner, gid_t group);
int lchown(const char *path, uid_t owner, gid_t group);
DESCRIPTION
The owner of the file specified by
pathor by
fdis changed. Only the super-user may change the owner of a file. The ownerof a file may change the group of the file to any group of which that owneris a member. The super-user may change the group arbitrarily.
If theownerorgroupis specified as -1, then that ID is not changed.
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 whetherthis also should happen when root does thechown;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 clearedby achown.
RETURN VALUE
On success, zero is returned. On error, -1 is returned, and
errnois set appropriately.
ERRORS
Depending on the file system, other errors can be returned. The moregeneral errors for
chownare listed below:
- EPERM
- The effective UID does not match the owner of the file, and is not zero; ortheownerorgroupwere specified incorrectly.
- EROFS
- The named file resides on a read-only file system.
- EFAULT
- pathpoints outside your accessible address space.
- ENAMETOOLONG
- pathis too long.
- ENOENT
- The file does not exist.
- ENOMEM
- Insufficient kernel memory was available.
- ENOTDIR
- A component of the path prefix is not a directory.
- EACCES
- Search permission is denied on a component of the path prefix.
- ELOOP
- Too many symbolic links were encountered in resolvingpath.
The general errors forfchownare listed below:
- EBADF
- The descriptor is not valid.
- ENOENT
- See above.
- EPERM
- See above.
- EROFS
- See above.EIOA low-level I/O error occurred while modifying the inode.
NOTES
In versions of Linux prior to 2.1.81 (and distinct from 2.1.46),
chowndid not follow symbolic links.Since Linux 2.1.81,
chowndoes follow symbolic links, and there is a new system call
lchownthat does not follow symbolic links.Since Linux 2.1.86, this new call (that has the same semanticsas the old
chown)has got the same syscall number, and
chowngot the newly introduced number.
The prototype forfchownis only available if__USE_BSDis defined.
CONFORMING TO
The
chowncall conforms to SVr4, SVID, POSIX, X/OPEN. The 4.4BSD version can only beused by the superuser (that is, ordinary users cannot give away files).SVr4 documents EINVAL, EINTR, ENOLINK and EMULTIHOP returns, but noENOMEM. POSIX.1 does not document ENOMEM or ELOOP error conditions.
The fchowncall conforms to 4.4BSD and SVr4.SVr4 documents additional EINVAL, EIO, EINTR, and ENOLINK error conditions.
RESTRICTIONS
The
chown() semantics are deliberately violated on NFS file systemswhich have UID mapping enabled. Additionally, the semantics of all systemcalls which access the file contents are violated, because
chown()may cause immediate access revocation on already open files. Client sidecaching may lead to a delay between the time where ownership havebeen changed to allow access for a user and the time where the file canactually be accessed by the user on other clients.
SEE ALSO
chmod(2),
flock(2)
Index
- NAME
- SYNOPSIS
- DESCRIPTION
- RETURN VALUE
- ERRORS
- NOTES
- CONFORMING TO
- RESTRICTIONS
- SEE ALSO
This document was created byman2html,using the manual pages.