.\" Copyright (C), 1994, Graeme W. Wilford (Wilf).
.\"
+.\" %%%LICENSE_START(VERBATIM)
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
.\"
.\" Fri Jul 29th 12:56:44 BST 1994 Wilf. <G.Wilford@ee.surrey.ac.uk>
.\" Changes inspired by patch from Richard Kettlewell
.\" <richard@greenend.org.uk>, aeb 970616.
.\" Modified, 27 May 2004, Michael Kerrisk <mtk.manpages@gmail.com>
.\" Added notes on capability requirements
-.TH SETUID 2 2010-02-21 "Linux" "Linux Programmer's Manual"
+.TH SETUID 2 2010-11-22 "Linux" "Linux Programmer's Manual"
.SH NAME
setuid \- set user identity
.SH SYNOPSIS
.PP
Thus, a set-user-ID-root program wishing to temporarily drop root
privileges, assume the identity of an unprivileged user, and then regain
-root privileges afterwards cannot use
+root privileges afterward cannot use
.BR setuid ().
You can accomplish this with
.BR seteuid (2).
-.SH "RETURN VALUE"
+.SH RETURN VALUE
On success, zero is returned.
On error, \-1 is returned, and
.I errno
capability) and
.I uid
does not match the real UID or saved set-user-ID of the calling process.
-.SH "CONFORMING TO"
+.SH CONFORMING TO
SVr4, POSIX.1-2001.
Not quite compatible with the 4.4BSD call, which
sets all of the real, saved, and effective user IDs.
.\" SVr4 documents an additional EINVAL error condition.
.SH NOTES
-.SS Linux Notes
-Linux has the concept of file system user ID, normally equal to the
+Linux has the concept of the filesystem user ID, normally equal to the
effective user ID.
The
.BR setuid ()
-call also sets the file system user ID of the calling process.
+call also sets the filesystem user ID of the calling process.
See
.BR setfsuid (2).
.PP
If
.I uid
-is different from the old effective uid, the process will
+is different from the old effective UID, the process will
be forbidden from leaving core dumps.
-.SH "SEE ALSO"
+
+The original Linux
+.BR setuid ()
+system call supported only 16-bit user IDs.
+Subsequently, Linux 2.4 added
+.BR setuid32 ()
+supporting 32-bit IDs.
+The glibc
+.BR setuid ()
+wrapper function transparently deals with the variation across kernel versions.
+.SH SEE ALSO
.BR getuid (2),
.BR seteuid (2),
.BR setfsuid (2),