Web | This Site

Unix for Beginners
Unix Shell Programming
Advanced Unix
Unix Useful References
Unix Useful Resources
Selected Reading
© 2011 TutorialsPoint.COM

| Home |  | References |  | Discussion Forums |  | About TP

# setgid() - Unix, Linux System Call

# NAME

setgid - set group identity

# SYNOPSIS

#include <sys/types.h>
#include <unistd.h>

int setgid(gid_t gid);

# DESCRIPTION

setgid() sets the effective group ID of the current process. If the caller is the superuser, the real GID and saved set-group-ID are also set.

Under Linux, setgid() is implemented like the POSIX version with the _POSIX_SAVED_IDS feature. This allows a set-group-ID program that is not set-user-ID-root to drop all of its group privileges, do some un-privileged work, and then re-engage the original effective group ID in a secure manner.

# RETURN VALUE

On success, zero is returned. On error, -1 is returned, and errno is set appropriately.

# ERRORS

Tag | Description
--- | ---
EPERM | The calling process is not privileged (does not have the CAP_SETGID capability), and gid does not match the effective group ID or saved set-group-ID of the calling process.

# CONFORMING TO

SVr4, POSIX.1-2001.

# SEE ALSO

- getgid (2)

- setegid (2)

- setregid (2)

Advertisement

Online Image Processing

Indian Baby Names