Available in

(2) (2)/de (2)/es (2)/fr (2)/ja (2)/ko (2)/nl (2)/pl (2)/ru

Contents

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).

COMMENTS

blog comments powered by Disqus