setgid(2)setgid(2)NAMEsetgid - Set the group ID
SYNOPSIS
#include <unistd.h>
int setgid(
gid_t group_id );
Application developers may want to specify an #include statement for
<sys/types.h> before the one for <unistd.h> 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 stan‐
dards.
STANDARDS
Interfaces documented on this reference page conform to industry stan‐
dards as follows:
setgid(): POSIX.1, XSH4.0, XSH4.2, XSH5.0
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
PARAMETERS
Specifies the new group ID.
DESCRIPTION
The setgid() function sets the real group ID, effective group ID, and
the saved set group ID to the value specified by the group_id parame‐
ter.
If the process does not have superuser privilege, but the group_id
parameter is equal to the real group ID or the saved set group ID, the
setgid() function sets the effective group ID to group_id. The real
group ID and saved set group ID remain unchanged.
Any supplementary group IDs of the calling process remain unchanged.
RETURN VALUES
Upon successful completion, the setgid() function returns 0 (zero).
Otherwise, the function returns -1 and sets errno to indicate the
error.
ERRORS
The setgid() function sets errno to the specified values for the fol‐
lowing conditions: The value of the group_id parameter is invalid. The
process does not have superuser privilege and the group_id parameter
does not match the real group ID or the saved set group ID.
SEE ALSO
Functions: exec(2), getgid(2), setuid(2)
Standards: standards(5)setgid(2)