Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ setregid(3) — Dell System V Release 4 Issue 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

setreuid(3)

exec(2)

getuid(2)

setuid(2)



setregid(3)        UNIX System V(BSD Compatibility Package)         setregid(3)


NAME
      setregid - set real and effective group IDs

SYNOPSIS
      cc [ flag. . . ] file . . . -lucb

      int setregid(rgid, egid)
      int rgid, egid;

DESCRIPTION
      setregid is used to set the real and effective group IDs of the calling
      process.  If rgid is -1, the real GID is not changed; if egid is -1, the
      effective GID is not changed.  The real and effective GIDs may be set to
      different values in the same call.

      If the effective user ID of the calling process is super-user, the real
      GID and the effective GID can be set to any legal value.

      If the effective user ID of the calling process is not super-user, either
      the real GID can be set to the saved setGID from execv, or the effective
      GID can either be set to the saved setGID or the real GID. Note: if a
      setGID process sets its effective GID to its real GID, it can still set
      its effective GID back to the saved setGID.

      In either case, if the real GID is being changed (that is, if rgid is not
      -1), or the effective GID is being changed to a value not equal to the
      real GID, the saved setGID is set equal to the new effective GID.

      If the real GID is changed from its current value, the old value is
      removed from the groups access list (see getgroups(2)) if it is present
      in that list, and the new value is added to the groups access list if it
      is not already present and if this would not cause the number of groups
      in that list to exceed NGROUPS, as defined in /usr/include/sys/param.h.

RETURN VALUE
      Upon successful completion, a value of 0 is returned.  Otherwise, a value
      of -1 is returned and errno is set to indicate the error.

ERRORS
      setregid will fail and neither of the group IDs will be changed if:

      EPERM          The calling process's effective UID is not the super-user
                     and a change other than changing the real GID to the saved
                     setGID, or changing the effective GID to the real GID or
                     the saved GID, was specified.

SEE ALSO
      setreuid(3)

      exec(2), getuid(2), setuid(2) in the Programmer's Reference Manual




10/89                                                                    Page 1





Typewritten Software • bear@typewritten.org • Edmonds, WA 98026