SETREGID(2)

NAME
setregid, setegid - setze reale und/oder effektive Gruppenkennung

ÜBERSICHT
#include <unistd.h>

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

BESCHREIBUNG
setregid setzt die reale und effektive Gruppenkennung (Group ID) des aktuellen Prozesses. Unprivilegierte Benutzer dürfen die reale Gruppenkennung auf die effektive Gruppenkennung ändern und umgekehrt. Seit 1.1.38 ist es auch möglich, die effektive Gruppenkennung aus der gesicherten Gruppenkennung zu setzen. Nur der Superuser darf andere Änderungen machen. Angeben des Wertes -1 für entweder die reale oder effektive Gruppenkennung weist das System an, diese Kennung unverändert zu lassen. Im Moment (libc-4.x.x) is setegid(egid) funktionell äquivalent zu setregid(-1, egid). Wenn die reale Gruppenkennung geändert wird, oder wenn die effektive Gruppenkennung auf einen Wert gesetzt wird, der nicht gleich der vorherigen realen Gruppenkennung ist, so wird die gesicherte Gruppenkennung auf die neue effektive Gruppenkennung gesetzt.

RÜCKGABEWERT
Bei Erfolg wird Null zurückgegeben. Im Fehlerfall wird -1 zurückgegeben und errno entsprechend gesetzt.

FEHLER

EPERM
    Der aktuelle Prozeß gehört nicht dem Superuser und eine andere Änderung als (i) das Vertauschen der effektiven mit der realen Gruppenkennung oder (ii) Setzen einer dieser auf den Wert den anderen oder (iii) Setzen der effektiven Gruppenkennung auf den Wert der gesicherten Gruppenkennung wurde angestrebt.

GESCHICHTE
Die Funktion setregid erschien in BSD 4.2.

KONFORM ZU
BSD 4.3

SIEHE AUCH
getgid(2), setgid(2).