Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ setregid(3C) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

exec(2)

getgroups(2)

getuid(2)

setuid(2)

setreuid(3C)

unistd(4)

setregid(3C)                                                   setregid(3C)

NAME
     setregid - Reale und effektive Gruppen-IDs setzen

SYNTAX
     #include <unistd.h>

     int setregid(gidt rgid, gidt egid);

BESCHREIBUNG
     setregid wird verwendet, um die reale und die effektive Gruppen-ID des
     aufrufenden Prozesses zu setzen. Wenn rgid gleich -1 ist, wird die
     reale GID nicht geändert; wenn egid gleich -1 ist, wird die effektive
     GID nicht geändert. Die reale und die effektive GID können im selben
     Aufruf auf verschiedene Werte gesetzt werden.

     Entspricht die effektive Benutzer-ID des aufrufenden Prozesses dem
     Superuser, können die reale GID und die effektive GID auf jeden zuläs-
     sigen Wert gesetzt werden.

     Entspricht die effektive Benutzer-ID des aufrufenden Prozesses nicht
     dem Superuser, kann entweder die reale GID auf die gesicherte
     "set-GID" aus execv() gesetzt werden, oder die effektive GID kann ent-
     weder auf die gesicherte "set-GID" oder die reale GID gesetzt werden.

     Hinweis: Wenn ein Prozeß zum Setzen der GID seine effektive GID auf
     seine reale GID setzt, kann er seine effektive GID immer noch auf die
     gesicherte "set-GID" zurücksetzen.

     Sowohl bei einer Änderung der realen GID (das heißt wenn rgid nicht
     gleich -1 ist) als auch bei der Änderung der effektiven GID in einen
     Wert, der nicht der realen GID entspricht, wird die gesicherte
     "set-GID" mit der neuen effektiven GID gleichgesetzt.

     Wird der aktuelle Wert der realen GID geändert, wird der alte Wert aus
     der Gruppenzugriffsliste gelöscht [siehe getgroups(2)], sofern er in
     dieser Liste eingetragen ist, und der neue Wert wird in die Gruppenzu-
     griffsliste aufgenommen, wenn er nicht bereits existiert und wenn
     hierdurch nicht die Anzahl der Gruppen in dieser Liste NGROUPS über-
     schreitet, wie in der Datei /usr/include/sys/param.h definiert.

RÜCKGABEWERT
     Bei erfolgreicher Ausführung wird der Wert 0 zurückgegeben. Andern-
     falls wird der Wert -1 zurückgegeben, und errno wird gesetzt, um den
     Fehler anzuzeigen.











Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

setregid(3C)                                                   setregid(3C)

FEHLER
     Die folgenden Beschreibungen der Fehlercodes sind funktionsspezifisch.
     Eine allgemeingültige Beschreibung finden Sie in introprm2(2) bzw. in
     errno(5).

     Bei folgender Bedingung schlägt setregid fehl, und keine der Gruppen-
     IDs wird geändert:

     EINVAL    Der Wert des Arguments rgid oder egid ist ungültig oder
               befindet sich außerhalb des gültigen Bereichs.

     EPERM     Die effektive Benutzer-ID des aufrufenden Prozesses ent-
               spricht nicht der des Superuser, und es wurde eine andere
               Änderung als die Änderung der realen GID in die gesicherte
               "set-GID" oder der effektiven GID in die reale oder die
               gesicherte GID angegeben.

SIEHE AUCH
     exec(2), getgroups(2), getuid(2), setuid(2), setreuid(3C), unistd(4).



































Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

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