GETGROUPS(2) Systemaufrufe GETGROUPS(2) 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 Prozeß. 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), Linux 0.99.11 23 July 1993 GETGROUPS(2)