Votre IP: 38.107.179.240 
  
 
Google
 
Accueil e-mail Linux
Linux
Perl
Perl
C
Langage C
Dico
Dictionnaire
Biblio liens
Bibliothèque de liens
Index articles
Index articles
 

Date création : 27-03-2008 20:23:44

Linux  Vous êtes dans : GNU/Linux Astuces / Pages man [Section3 - Sous-fonctions]


GETGROUPLIST

 

Index

  1. NOM
  2. SYNOPSIS
  3. DESCRIPTION
  4. VALEUR RENVOYÉE
  5. BOGUES
  6. CONFORMITÉ À
  7. VERSIONS
  8. EXEMPLE
  9. VOIR AUSSI
  10. TRADUCTION

 

NOMIndex

getgrouplist - Lister les groupes auxquels appartient un utilisateur  

SYNOPSISIndex


#include <grp.h>
int getgrouplist (const char *user, gid_t group, gid_t *groups, int *ngroups);  

DESCRIPTIONIndex

La fonction getgrouplist() balaie la base de données de group à la recherche de tous les groupes auxquels user appartient. Jusqu'à *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().  

VALEUR RENVOYÉEIndex

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.  

BOGUESIndex

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.  

CONFORMITÉ ÀIndex

Cette fonction n'est pas standard, elle est apparue sur la plupart des BSD.  

VERSIONSIndex

Cette fonction est présente depuis glibc 2.2.4.  

EXEMPLEIndex

/* 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;
        char *user = "who";     /* nom d'utilisateur ici */
        gid_t *groups = NULL;
        struct passwd *pw = getpwnam(user);
        if (pw == NULL)
                return 0;

        if (getgrouplist(user, pw->pw_gid, NULL, &ng) < 0) {
                groups = (gid_t *) malloc(ng * sizeof (gid_t));
                getgrouplist(user, pw->pw_gid, groups, &ng);
        }

        for(i = 0; i < ng; i++)
                printf("%d
", groups[i]);

        return 0;
}
 

VOIR AUSSIIndex

getgroups(3), setgroups(3)  

TRADUCTIONIndex

Cette page de manuel a été traduite et mise à jour par Alain Portal <aportal AT univ-montp2 DOT fr> entre 2004 et 2006.
La traduction de cette page de manuel est basée sur les traductions disponibles sur http://manpagesfr.free.fr/, mais est gérée par l'équipe francophone de traduction de Debian au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C <section> <page_de_man> ».


Création : octobre 2007  © Tous droits réservés 2007 linux-perl-c
Valid HTML 4.01 TransitionalValid CSS