unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (4.4BSD-Lite2)
Page:
Section:
Apropos / Subsearch:
optional field

CHOWN(2)                    BSD Programmer's Manual                   CHOWN(2)

NAME
     chown, fchown - change owner and group of a file

SYNOPSIS
     #include <&lt;unistd.h>&gt;

     int
     chown(const char *path, uid_t owner, gid_t group);

     int
     fchown(int fd, uid_t owner, uid_t group);

DESCRIPTION
     The owner ID and group ID of the file named by path or referenced by fd
     is changed as specified by the arguments owner and group. The owner of a
     file may change the group to a group of which he or she is a member, but
     the change owner capability is restricted to the super-user.

     Chown() clears the set-user-id and set-group-id bits on the file to pre-
     vent accidental or mischievous creation of set-user-id and set-group-id
     programs.

     Fchown() is particularly useful when used in conjunction with the file
     locking primitives (see flock(2)).

     One of the owner or group id's may be left unchanged by specifying it as
     -1.

RETURN VALUES
     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.

     [EINVAL]      The pathname contains a character with the high-order bit
                   set.

     [ENAMETOOLONG]
                   A component of a pathname exceeded 255 characters, or an
                   entire path name exceeded 1023 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.

     [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.



     Fchown() will fail if:

     [EBADF]       Fd does not refer to a valid descriptor.

     [EINVAL]      Fd refers to a socket, not a file.

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

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

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

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

STANDARDS
     Chown() is expected to conform to IEEE Std 1003.1-1988 (``POSIX'').

HISTORY
     The fchown() function call appeared in 4.2BSD.

     The chown() and fchown() functions were changed to follow symbolic links
     in 4.4BSD.

4th Berkeley Distribution       April 19, 1994                               2