*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> chown (2)              
Title
Content
Arch
Section
 

CHOWN(2)

Contents


NAME    [Toc]    [Back]

     chown, lchown, fchown - change owner and group of a file  or
link

SYNOPSIS    [Toc]    [Back]

     #include <sys/types.h>
     #include <unistd.h>

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

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

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

DESCRIPTION    [Toc]    [Back]

     The  owner  ID  and  group ID of the file (or link) 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 superuser.

     chown()  clears the set-user-ID and set-group-ID bits on the
file to prevent
 accidental or mischievous creation of  set-user-ID  and
set-group-ID
     programs.

     lchown() operates similarly to how chown() operated on older
systems, and
     does not follow symbolic links.  It  allows  the  owner  and
group of a symbolic
 link to be set.

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

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

RETURN VALUES    [Toc]    [Back]

     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    [Toc]    [Back]

     chown()  or  lchown() will fail and the file or link will be
unchanged if:

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

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

     [EPERM]       The effective user ID is not the superuser.

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

     [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    [Toc]    [Back]

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

STANDARDS    [Toc]    [Back]

     The chown() function is expected  to  conform  to  IEEE  Std
1003.1-1988
     (``POSIX'').

HISTORY    [Toc]    [Back]

     The fchown() function call appeared in 4.2BSD.

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

     The lchown() function was added to OpenBSD due to the above.

OpenBSD      3.6                         January     25,     1997
[ Back ]
 Similar pages
Name OS Title
chown OpenBSD change file owner and group
fchown NetBSD change owner and group of a file
lchown Tru64 Change the owner and group IDs of a file
chown HP-UX change owner and group of a file
chown IRIX change owner and group of a file
fchown FreeBSD change owner and group of a file
chown FreeBSD change file owner and group
chown NetBSD change owner and group of a file
fchown HP-UX change owner and group of a file
lchown NetBSD change owner and group of a file
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service