CHOWN(2)

NAME
chown - change owner and group of a file

SYNOPSIS
int chown(const char *path, int owner, int group)

DESCRIPTION
The file that is named by path has its owner and group changed as specified. Only the super-user may change the owner of the file, because if users were able to give files away, they could defeat file-space accounting procedures. The owner of the file may change the group to a group of which he is a member.

On some systems, chown clears the set-user-id and set-group-id bits on the file to prevent accidental creation of set-user-id and set-group-id programs.

RETURN VALUE
Zero is returned if the operation was successful; -1 is returned if an error occurs, with a more specific error code being placed in the global variable errno.

ERRORS
Chown will fail and the file will be unchanged if:

[ENOTDIR]
    A component of the path prefix is not a directory.

[ENAMETOOLONG]
    The path name exceeds PATH_MAX characters.

[ENOENT]
    The named file does not exist.

[EACCES]
    Search permission is denied for a component of the path prefix.

[ELOOP]
    Too many symbolic links were encountered in translating the pathname. (Minix-vmd)

[EPERM]
    The effective user ID is not the super-user.

[EROFS]
    The named file resides on a read-only file system.

[EFAULT]
    Path points outside the process's allocated address space.

[EIO]
    An I/O error occurred while reading from or writing to the file system.

SEE ALSO
chown(8), chgrp(1), chmod(2).