summaryrefslogtreecommitdiffstats
path: root/man-pages-posix-2017/man3p/fchown.3p
diff options
context:
space:
mode:
Diffstat (limited to 'man-pages-posix-2017/man3p/fchown.3p')
-rw-r--r--man-pages-posix-2017/man3p/fchown.3p140
1 files changed, 140 insertions, 0 deletions
diff --git a/man-pages-posix-2017/man3p/fchown.3p b/man-pages-posix-2017/man3p/fchown.3p
new file mode 100644
index 0000000..a54ecbc
--- /dev/null
+++ b/man-pages-posix-2017/man3p/fchown.3p
@@ -0,0 +1,140 @@
+'\" et
+.TH FCHOWN "3P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual"
+.\"
+.SH PROLOG
+This manual page is part of the POSIX Programmer's Manual.
+The Linux implementation of this interface may differ (consult
+the corresponding Linux manual page for details of Linux behavior),
+or the interface may not be implemented on Linux.
+.\"
+.SH NAME
+fchown
+\(em change owner and group of a file
+.SH SYNOPSIS
+.LP
+.nf
+#include <unistd.h>
+.P
+int fchown(int \fIfildes\fP, uid_t \fIowner\fP, gid_t \fIgroup\fP);
+.fi
+.SH DESCRIPTION
+The
+\fIfchown\fR()
+function shall be equivalent to
+\fIchown\fR()
+except that the file whose owner and group are changed is
+specified by the file descriptor
+.IR fildes .
+.SH "RETURN VALUE"
+Upon successful completion,
+\fIfchown\fR()
+shall return 0. Otherwise, it shall return \-1 and set
+.IR errno
+to indicate the error.
+.SH ERRORS
+The
+\fIfchown\fR()
+function shall fail if:
+.TP
+.BR EBADF
+The
+.IR fildes
+argument is not an open file descriptor.
+.TP
+.BR EPERM
+The effective user ID does not match the owner of the file or the
+process does not have appropriate privileges and _POSIX_CHOWN_RESTRICTED
+indicates that such privilege is required.
+.TP
+.BR EROFS
+The file referred to by
+.IR fildes
+resides on a read-only file system.
+.P
+The
+\fIfchown\fR()
+function may fail if:
+.TP
+.BR EINVAL
+The owner or group ID is not a value supported by the implementation.
+The
+.IR fildes
+argument refers to a pipe or socket
+or an
+\fIfattach\fR()-ed
+STREAM
+and the implementation disallows execution of
+\fIfchown\fR()
+on a pipe.
+.TP
+.BR EIO
+A physical I/O error has occurred.
+.TP
+.BR EINTR
+The
+\fIfchown\fR()
+function was interrupted by a signal which was caught.
+.LP
+.IR "The following sections are informative."
+.SH EXAMPLES
+.SS "Changing the Current Owner of a File"
+.P
+The following example shows how to change the owner of a file named
+.BR /home/cnd/mod1
+to ``jones'' and the group to ``cnd''.
+.P
+The numeric value for the user ID is obtained by extracting the user ID
+from the user database entry associated with ``jones''. Similarly, the
+numeric value for the group ID is obtained by extracting the group ID
+from the group database entry associated with ``cnd''. This example
+assumes the calling program has appropriate privileges.
+.sp
+.RS 4
+.nf
+
+#include <sys/types.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <pwd.h>
+#include <grp.h>
+.P
+struct passwd *pwd;
+struct group *grp;
+int fildes;
+\&...
+fildes = open("/home/cnd/mod1", O_RDWR);
+pwd = getpwnam("jones");
+grp = getgrnam("cnd");
+fchown(fildes, pwd->pw_uid, grp->gr_gid);
+.fi
+.P
+.RE
+.SH "APPLICATION USAGE"
+None.
+.SH RATIONALE
+None.
+.SH "FUTURE DIRECTIONS"
+None.
+.SH "SEE ALSO"
+.IR "\fIchown\fR\^(\|)"
+.P
+The Base Definitions volume of POSIX.1\(hy2017,
+.IR "\fB<unistd.h>\fP"
+.\"
+.SH COPYRIGHT
+Portions of this text are reprinted and reproduced in electronic form
+from IEEE Std 1003.1-2017, Standard for Information Technology
+-- Portable Operating System Interface (POSIX), The Open Group Base
+Specifications Issue 7, 2018 Edition,
+Copyright (C) 2018 by the Institute of
+Electrical and Electronics Engineers, Inc and The Open Group.
+In the event of any discrepancy between this version and the original IEEE and
+The Open Group Standard, the original IEEE and The Open Group Standard
+is the referee document. The original Standard can be obtained online at
+http://www.opengroup.org/unix/online.html .
+.PP
+Any typographical or formatting errors that appear
+in this page are most likely
+to have been introduced during the conversion of the source files to
+man page format. To report such errors, see
+https://www.kernel.org/doc/man-pages/reporting_bugs.html .