IPB
>  Man Pages > Linux > Suse Linux 10.1 > Section 2 > setuid man page

setuid man page

Section 2 - Suse Linux 10.1 Man Pages

Other operating system man pages available here


Advanced Search

Hopefully, this page is exactly what you are looking for, but if not, you can always find further assistance on Unix/Linux Forum!


SETUID(2)                  Linux Programmer's Manual                 SETUID(2)




NAME

       setuid - set user identity


SYNOPSIS

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

       int setuid(uid_t uid);


DESCRIPTION

       setuid()  sets  the  effective  user ID of the current process.  If the
       effective UID of the caller is root, the real UID and saved set-user-ID
       are also set.

       Under  Linux,  setuid()  is implemented like the POSIX version with the
       _POSIX_SAVED_IDS feature.  This allows a set-user-ID (other than  root)
       program to drop all of its user privileges, do some un-privileged work,
       and then re-engage the original effective user ID in a secure manner.

       If the user is root or the program is  set-user-ID-root,  special  care
       must  be  taken.  The setuid() function checks the effective user ID of
       the caller and if it is the superuser, all process  related  user  ID's
       are set to uid.  After this has occurred, it is impossible for the pro-
       gram to regain root privileges.

       Thus, a set-user-ID-root program wishing to temporarily drop root priv-
       ileges,  assume  the  identity of a non-root user, and then regain root
       privileges afterwards cannot use setuid().   You  can  accomplish  this
       with the (non-POSIX, BSD) call seteuid().


RETURN VALUE

       On  success,  zero is returned.  On error, -1 is returned, and errno is
       set appropriately.


ERRORS

       EAGAIN The uid does not match the current uid and  uid  brings  process
              over it's NPROC rlimit.

       EPERM  The  user is not privileged (Linux: does not have the CAP_SETUID
              capability) and uid does not match the real UID  or  saved  set-
              user-ID of the calling process.


CONFORMING TO

       SVr4,  SVID, POSIX.1.  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.


LINUX-SPECIFIC REMARKS

       Linux  has  the  concept  of  filesystem user ID, normally equal to the
       effective user ID.  The setuid() call also sets the filesystem user  ID
       of the current process.  See setfsuid(2).

       If  uid  is  different  from the old effective uid, the process will be
       forbidden from leaving core dumps.


SEE ALSO

       getuid(2), seteuid(2), setfsuid(2), setreuid(2), capabilities(7)



Linux 2.6.6                       2004-05-27                         SETUID(2)


Man(1) output converted with man2html and wrapped by fishsponge

This page was generated on Tue Feb 13 02:17:46 GMT 2007

Your favourite pages:

No pages logged yet.
Trying to save cookie...

Top 10 most popular pages:

CPAN man page (4333 hits)
(Suse Linux 10.1)

ssh man page (4186 hits)
(Suse Linux 10.1)

adv_cap_autoneg man page (4167 hits)
(Solaris 10 11_06)

sqlite3 man page (4090 hits)
(openSUSE 10.2)

svn man page (3251 hits)
(FreeBSD 6.2)

startproc man page (1908 hits)
(Suse Linux 10.1)

pprosetup man page (1667 hits)
(Solaris 10 11_06)

netcat man page (1614 hits)
(Suse Linux 10.1)

signal man page (1595 hits)
(Suse Linux 10.1)

ssh-socks5-proxy-connect man page (1562 hits)
(Solaris 10 11_06)

Useful Links

Go Back

Visitor Statistics


Valid XHTML 1.0 Transitional     Valid CSS!

Partners: Cambridge Plus :: Pyrenees Places of Interest and Areas of Natural Beauty :: PIC Boot-loader Utility :: <Link Available>
Unix Man Pages / Linux Man Pages :: HiFi Forum :: SIP VoIP Phone & Provider Reviews :: UNIX/Linux Forum Archives

More info on advertising on Unix/Linux Forum