Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fchown(2) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chgrp(1)

chmod(2)

chown(1)






       chown(2)                                                    chown(2)


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

       SYNOPSIS
             #include <unistd.h>
             #include <sys/stat.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 fildes, uid_t owner, gid_t group);

       DESCRIPTION
             The owner ID and group ID of the file specified by path or
             referenced by the descriptor fildes, are set to owner and
             group respectively.  If owner or group is specified as -1, the
             corresponding ID of the file is not changed.

             The function lchown sets the owner ID and group ID of the
             named file just as chown does, except in the case where the
             named file is a symbolic link.  In this case lchown changes
             the ownership of the symbolic link file itself, while chown
             changes the ownership of the file or directory to which the
             symbolic link refers.

             If chown, lchown, or fchown is invoked by a process without
             the P_OWNER privilege, the set-user-ID and set-group-ID bits
             of the file mode, S_ISUID and S_ISGID respectively, are
             cleared [see chmod(2)].

             The operating system has a configuration option,
             {_POSIX_CHOWN_RESTRICTED}, that restricts ownership changes
             for the chown, lchown, and fchown system calls.

             When {_POSIX_CHOWN_RESTRICTED} is not in effect, the effective
             user ID of the calling process must match the owner of the
             file or the process must have the P_OWNER privilege to change
             the ownership of a file.

             When {_POSIX_CHOWN_RESTRICTED} is in effect, the chown,
             lchown, and fchown system calls prevent the owner of the file
             from changing the owner ID of the file and restrict the change
             of the group of the file to the list of supplementary group
             IDs.  This restriction does not apply to calling processes
             with the P_OWNER privilege.





                           Copyright 1994 Novell, Inc.               Page 1













      chown(2)                                                    chown(2)


         Return Values
            On success, chown, fchown and lchown return 0 and mark for
            update the st_ctime field of the file.  On failure, chown,
            fchown and lchown return -1, set errno to identify the error,
            and the owner and group of the file are unchanged.

         Errors
            In the following conditions, chown and lchown fail and set
            errno to:

           EACCES Search permission is denied on a component of the path
                   prefix of path.

           EACCES Write permission on the named file is denied.

           EFAULT path points outside the allocated address space of the
                   process.

           EINTR  A signal was caught during the chown or lchown system
                   calls.

           EINVAL group or owner is out of range.

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

           ELOOP  Too many symbolic links were encountered in translating
                   path.

           EMULTIHOP
                   Components of path require hopping to multiple remote
                   machines and file system type does not allow it.  Too
                   many symbolic links were encountered in translating
                   path.

           ENAMETOOLONG
                   The length of the path argument exceeds {PATH_MAX}, or
                   the length of a path component exceeds {NAME_MAX} while
                   _POSIX_NO_TRUNC is in effect.

           ENOLINK
                   path points to a remote machine and the link to that
                   machine is no longer active.





                          Copyright 1994 Novell, Inc.               Page 2













       chown(2)                                                    chown(2)


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

            ENOENT Either a component of the path prefix or the file
                    referred to by path does not exist or is a null
                    pathname.

            EPERM  The effective user ID of the calling process does not
                    match the owner of the file and the calling process
                    does not have the appropriate privilege (P_OWNER) for
                    changing file ownership.

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

             In the following conditions, fchown fails and sets errno to:

            EBADF  fildes is not an open file descriptor.

            EINVAL group or owner is out of range.

            EPERM  The effective user ID of the calling process does not
                    match the owner of the file and the calling process
                    does not have the appropriate privilege (P_OWNER) for
                    changing file ownership.

            EROFS  The named file referred to by fildes resides on a read-
                    only file system.

            EINTR  A signal was caught during execution of the system call.

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

            ENOLINK
                    fildes points to a remote machine and the link to that
                    machine is no longer active.

       REFERENCES
             chgrp(1), chmod(2), chown(1)








                           Copyright 1994 Novell, Inc.               Page 3








Typewritten Software • bear@typewritten.org • Edmonds, WA 98026