| Linux | CentOS 5.3 | |
|  | getgrouplist(3) |  | 
| getgrouplist − Lister les groupes auquels appartient un utilisateur. | 
| #include <grp.h> int getgrouplist (const char *user, gid_t group, | 
| gid_t *groups, int *ngroups); | 
| La fonction getgrouplist() balaie la base de données group à la recherche de tous les groupes auquels user appartient. *ngroups identifiants de groupe correspondant à ces groupes sont enregistrés dans le tableau groups; la valeur de retour de la fonction est le nombre de GID actuellement enregistrés. Le groupe group est automatiquement inclus dans la liste des groupes renvoyée par getgrouplist(). | 
| Si *ngroups est plus petit que le nombre total de groupes trouvés, getgrouplist() renvoie −1. Dans tous les cas, le nombre actuel de groupes est enregistré dans *ngroups. | 
| L’implémentation de cette fonction dans la glibc 2.3.2 est défectueuse : elle écrase la mémoire lorsque le nombre actuel de groupes est plus grand que *ngroups. | 
| Cette fonction n’est pas standard ; elle apparait sur la plupart des BSD. | 
| Cette fonction est présente depuis glibc 2.2.4. | 
| /* Ceci plante avec la glibc 2.3.2 */
#include <stdio.h>
#include <stdlib.h>
#include <grp.h>
#include <pwd.h>
int main() {
    int i, ng = 0;
 | 
| /* nom d’utilisateur ici */ | 
| gid_t *groups = NULL; if (getgrouplist(user, pw−>pw_gid, NULL,
&ng) < 0) { for(i = 0; i < ng; i++) return 0; | 
| getgroups(3), setgroups(3) | 
| Ce document est une traduction réalisée par Alain Portal <aportal AT univ-montp2 DOT fr> le 20 juillet 2005 et révisée le 14 août 2006. L’équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 getgrouplist ». N’hésitez pas à signaler à l’auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel. | 
|  | getgrouplist(3) |  |