issetugid man page on OpenBSD

Man page or keyword search:  
man Server   11362 pages
apropos Keyword Search (all sections)
Output format
OpenBSD logo
[printable version]

ISSETUGID(2)		  OpenBSD Programmer's Manual		  ISSETUGID(2)

NAME
     issetugid - is current executable running setuid or setgid

SYNOPSIS
     #include <unistd.h>

     int
     issetugid(void);

DESCRIPTION
     The issetugid() function returns 1 if the process was made setuid or
     setgid as the result of the last or other previous execve() system calls.
     Otherwise it returns 0.

     This system call exists so that library routines (inside libtermlib,
     libc, or other libraries) can guarantee safe behavior when used inside
     setuid or setgid programs.	 Some library routines may be passed
     insufficient information and hence not know whether the current program
     was started setuid or setgid because higher level calling code may have
     made changes to the uid, euid, gid, or egid.  Hence these low-level
     library routines are unable to determine if they are being run with
     elevated or normal privileges.

     In particular, it is wise to use this call to determine if a pathname
     returned from a getenv() call may safely be used to open() the specified
     file.  Quite often this is not wise because the status of the effective
     uid is not known.

     The issetugid() system call's result is unaffected by calls to setuid(),
     setgid(), or other such calls.  In case of a fork(), the child process
     inherits the same status.

     The status of issetugid() is only affected by execve().  If a child
     process executes a new executable file, a new issetugid status will be
     determined.  This status is based on the existing process's uid, euid,
     gid, and egid permissions and on the modes of the executable file.	 If
     the new executable file modes are setuid or setgid, or if the existing
     process is executing the new image with uid != euid or gid != egid, the
     new process will be considered issetugid.

ERRORS
     The issetugid() function is always successful, and no return value is
     reserved to indicate an error.

SEE ALSO
     execve(2), setegid(2), seteuid(2), setgid(2), setuid(2)

HISTORY
     The issetugid() function call first appeared in OpenBSD 2.0.

OpenBSD 4.9			 May 31, 2007			   OpenBSD 4.9
[top]

List of man pages available for OpenBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net