Man Solaris  - setregid (2)

advertisement


NAME

setregid - set real and effective group IDs

CONTENTS

Synopsis
Description
Return Values
Errors
Usage
Attributes
See Also

SYNOPSIS

#include <unistd.h>

int setregid(gid_t rgid, gid_t egid);

DESCRIPTION

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

If the {PRIV_PROC_SETID} privilege is asserted in the effective set of the calling process, the real group ID and the effective group ID can be set to any legal value.

If the {PRIV_PROC_SETID} privilege is not asserted in the effective set of the calling process, either the real group ID can be set to the saved set-group-ID from execve(2), or the effective group ID can either be set to the saved set-group-ID or the real group ID.

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

RETURN VALUES

Upon successful completion, 0 is returned. Otherwise, -1 is returned, errno is set to indicate the error, and neither of the group IDs will be changed.

ERRORS

The setregid() function will fail if:

EINVAL

The value of rgid or egid is less than 0 or greater than UID_MAX (defined in <limits.h>).

EPERM

The {PRIV_PROC_SETID} privilege is not asserted in the effective set of the calling processes and a change was specified other than changing the real group ID to the saved set-group-ID or changing the effective group ID to the real group ID or the saved group ID.

USAGE

If a set-group-ID process sets its effective group ID to its real group ID, it can still set its effective group ID back to the saved set-group-ID.

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE
Interface StabilityStandard

SEE ALSO

execve(2), getgid(2), setreuid(2), setuid(2), attributes(5), privileges(5), standards(5)

Jump to page    or go to Top of page |  Section 2 |  Main Solaris Index.


SunOS 5.11 setregid (2) 22 Mar 2004
Generated by OpenSolaris Forum from /usr/share/man/man2/setregid.2 using man macros with tbl support.