Home
March 20, 2010 10:57:25 AM EST
home
back print
SETRESUID   (2) manpage
SETRESUID
2
2007-07-26
Linux
Linux Programmer's Manual
  • NAME
      setresuid, setresgid - set real, effective and saved user or group ID
  • SYNOPSIS
      #define _GNU_SOURCE
      #include <unistd.h>

      int setresuid(uid_t ruid , uid_t euid , uid_t suid );
      int setresgid(gid_t rgid , gid_t egid , gid_t sgid );
  • DESCRIPTION
      setresuid () sets the real user ID, the effective user ID, and the saved set-user-ID of the calling process.
      Unprivileged user processes may change the real UID, effective UID, and saved set-user-ID, each to one of: the current real UID, the current effective UID or the current saved set-user-ID.
      Privileged processes (on Linux, those having the CAP_SETUID capability) may set the real UID, effective UID, and saved set-user-ID to arbitrary values.
      If one of the arguments equals -1, the corresponding value is not changed.
      Regardless of what changes are made to the real UID, effective UID, and saved set-user-ID, the file system UID is always set to the same value as the (possibly new) effective UID.
      Completely analogously, setresgid () sets the real GID, effective GID, and saved set-group-ID of the calling process (and always modifies the file system GID to be the same as the effective GID), with the same restrictions for non-privileged processes.
  • RETURN VALUE
      On success, zero is returned. On error, -1 is returned, and errno is set appropriately.
  • ERRORS
      EAGAIN
      uid does not match the current UID and this call would bring that user ID over its RLIMIT_NPROC resource limit.
      EPERM
      The calling process is not privileged (did not have the CAP_SETUID capability) and tried to change the IDs to values that are not permitted.
  • VERSIONS
      These calls are available under Linux since Linux 2.1.44.
  • CONFORMING TO
      These calls are non-standard; they also appear on HP-UX and some of the BSDs.
  • NOTES
      Under HP-UX and FreeBSD the prototype is found in <unistd.h> . Under Linux the prototype is provided by glibc since version 2.3.2.
  • SEE ALSO
  • COLOPHON
      This page is part of release 3.19 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.


Current Users: 94 © 1999-2009 PenguinSoft. All trademarks and copyrights on this page are owned by their respective companies. Linux is a trademark of Linus Torvalds.