unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



setuid(2)							    setuid(2)



NAME
  setuid - Sets	the user ID

SYNOPSIS

  #include <&lt;unistd.h>&gt;

  int setuid (
	  uid_t	user_id	);

  Application developers may want to specify an	#include statement for
  <&lt;sys/types.h>&gt;	before the one for <&lt;unistd.h>&gt; if programs are being developed
  for multiple platforms. The additional #include statement is not required
  on Tru64 UNIX	systems	or by ISO or X/Open standards, but may be required on
  other	vendors' systems that conform to these standards.

STANDARDS

  Interfaces documented	on this	reference page conform to industry standards
  as follows:

  setuid(): XSH5.0

  Refer	to the standards(5) reference page for more information	about indus-
  try standards	and associated tags.

PARAMETERS

  user_id   Specifies the new user ID.

DESCRIPTION

  The setuid() function	sets the real user ID, effective user ID, and the
  saved	set user ID to the user_id parameter.

  To change the	real user ID, the effective user ID, and the saved set user
  ID, the calling process must have superuser privilege.  If the process does
  not have appropriate privilege, but the user_id parameter is equal to	the
  real user ID or the saved set	user ID, the setuid() function sets the
  effective user ID to the user_id parameter.  The real	user ID	and saved set
  user ID remain unchanged.

RETURN VALUES

  Upon successful completion, the setuid() function returns a value of 0
  (zero).  Otherwise, the function returns a value of -1 and sets errno	to
  indicate the error.

ERRORS

  The setuid() function	sets errno to the specified values for the following
  conditions:

  [EAGAIN]  [Tru64 UNIX]  The process is attempting an operation that would
	    exceeds a system limit, such as the	number of tasks	or threads
	    allowed for	a user ID.

  [EINVAL]  The	value of the user_id parameter is invalid.

  [EPERM]   The	process	does not have superuser	privileges, and	the user_id
	    parameter does not match the real user ID or the saved set user
	    ID.

RELATED	INFORMATION

  Functions: exec(2), getuid(2), setgid(2), setreuid(2)

  Standards: standards(5)