Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ setregid(3) — Atari System V ue12

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

setreuid(3)

setregid(3)

exec(2)

getuid(2)

setuid(2)





   setregid(3)             (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)



   7/91                                                                 Page 1









   setregid(3)             (BSD Compatibility Package)             setregid(3)


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




















































   Page 2                                                                 7/91





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