# 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).