getgroups

Autres langues

Langue: de

Version: 23. July 1993 (openSuse - 09/10/07)

Section: 2 (Appels système)

BEZEICHNUNG

getgroups, setgroups - hole/setze Group Access List

ÜBERSICHT

#include <unistd.h>

int getgroups(int size, gid_t list[]);

#define __USE_BSD
#include <grp.h>

int setgroups(size_t size, const gid_t *list);

BESCHREIBUNG

getgroups
Bis zu size zusätzliche Gruppen werden in list eingetragen. Wenn size Null ist, wird list nicht geändert, doch wird die gesamte Anzahl der zusätzlichen Gruppen des Prozesses zurückgeliefert.
setgroups
Setzt die zusätzlichen Gruppen für den Prozess. Nur der Superuser darf diese Funktion benutzen.

RÜCKGABEWERTE

getgroups
Bei Erfolg wird die Anzahl der Gruppen in list abgelegt. Falls size Null ist, wird die Anzahl der zusätzlichen Group IDs des Prozesses geliefert. Bei aufgetretenem Fehler wird -1 geliefert und errno wird entsprechend gesetzt.
setgroups
Bei Erfolg wir Null geliefert, bei aufgetretenem Fehler wird -1 geliefert und errno wird entsprechend gesetzt.

FEHLER

EFAULT
list ist eine ungültige Adresse.
EPERM
Bei setgroups war der aufrufende Benutzer nicht der Superuser.
EINVAL
Bei setgroups war gidsetsize größer als NGROUPS (32 unter Linux 0.99.11).

KONFORM ZU

getgroups ist konform zu POSIX.1 und wird in BSD 4.3 benutzt. Da setgroups Privilegien verlangt, ist es nicht durch POSIX.1 abgedeckt.

BUGS

Das Flag __USE_BSD sollte nicht für setgroups angefordert werden.

SIEHE AUCH

initgroups(3).