initgroups(3C) initgroups(3C)
NAME
initgroups - Zusätzliche Gruppenzugriffslisten initialisieren
SYNTAX
#include <grp.h>
#include <sys/types.h>
int initgroups(const char *name, gidt basegid);
BESCHREIBUNG
initgroups() liest die Gruppendatei unter Verwendung von getgrent(),
um die Gruppenmitgliedschaft für den Benutzer name herauszufinden und
initialisiert die zusätzliche Gruppenzugriffsliste des aufrufenden
Prozesses mit setgroups(). Die Gruppennummer basegid ist ebenfalls in
der zusätzlichen Gruppenzugriffsliste enthalten. Dies ist typischer-
weise die echte Gruppennummer aus der Kennwortdatei.
Wird die Anzahl der Gruppen einschließlich des Eintrags basegid größer
als NGROUPSMAX, so werden weitere Gruppeneinträge ignoriert.
initgroups() schlägt fehl und ändert die zusätzliche Gruppenzugriff-
sliste nicht, wenn:
EPERM Die effektive Benutzernummer ist nicht die des Systemverwal-
ters.
ERGEBNIS
Nach erfolgreicher Ausführung wird der Wert 0 zurückgeliefert. Anson-
sten wird -1 zurückgegeben und errno gesetzt, um den Fehler anzuzei-
gen.
SIEHE AUCH
setgroups(2), getgrent(3C), grp(5), types(5).
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98