Bash-Linux.com : Le SHELL pour les nuls

  Actuellement 50 lignes de commande et 1472 man disponibles
login as: root
root@213.186.33.18's password:
Last login: Mon May 28 21:41:50 2012 from 38.107.179.230
[root@bash-linux ~] # echo "Bienvenue sur Bash-Linux.com"_
 Manuel des commandes UNIX (man) Version anglaise

Indiquez la fonction :

Man Getgrouplist en anglais

GETGROUPLIST(3) Linux Programmer's Manual GETGROUPLIST(3)
 
NAME


getgrouplist - get list of groups to which a user belongs
 
SYNOPSIS


#include int getgrouplist(const char *user, gid_t group, gid_t *groups, int *ngroups); Feature Test Macro Requirements for glibc (see feature_test_macros(7)): getgrouplist(): _BSD_SOURCE
 
DESCRIPTION


The getgrouplist() function scans the group database (see group(5)) to obtain the list of groups that user belongs to. Up to *ngroups of these groups are returned in the array groups. If it was not among the groups defined for user in the group database, then group is included in the list of groups returned by getgrou- plist(); typically this argument is specified as the group ID from the password record for user. The ngroups argument is a value-result argument: on return it always contains the number of groups found for user, including group; this value may be greater than the number of groups stored in groups.
 
RETURN VALUE


If the number of groups of which user is a member is less than or equal to *ngroups, then the value *ngroups is returned. If the user is a member of more than *ngroups groups, then getgrou- plist() returns -1. In this case the value returned in *ngroups can be used to resize the buffer passed to a further call getgrouplist().
 
VERSIONS


This function is present since glibc 2.2.4.
 
CONFORMING TO


This function is non-standard; it appears on most BSDs.
 
BUGS


In glibc versions before 2.3.3, the implementation of this function contains a buffer-overrun bug: it returns the complete list of groups for user in the array groups, even when the number of groups exceeds *ngroups.
 
EXAMPLE


The program below displays the group list for the user named in its first command-line argument. The second command-line argument speci- fies the ngroups value to be supplied to getgrouplist(). The following shell session shows examples of the use of this program: $ ./a.out cecilia 0 getgrouplist() returned -1; ngroups = 3 $ ./a.out cecilia 3 ngroups = 3 16 (dialout) 33 (video) 100 (users) #include #include #include #include int main(int argc, char *argv[]) { int j, ngroups; gid_t *groups; struct passwd *pw; struct group *gr; if (argc != 3) { fprintf(stderr, "Usage: %s \n", argv[0]); exit(EXIT_FAILURE); } ngroups = atoi(argv[2]); groups = malloc(ngroups * sizeof (gid_t)); if (groups == NULL) { perror("malloc"); exit(EXIT_FAILURE); } /* Fetch passwd structure (contains first group ID for user) */ pw = getpwnam(argv[1]); if (pw == NULL) { perror("getpwnam"); exit(EXIT_SUCCESS); } /* Retrieve group list */ if (getgrouplist(argv[1], pw->pw_gid, groups, &ngroups) == -1) { fprintf(stderr, "getgrouplist() returned -1; ngroups = %d\n", ngroups); exit(EXIT_FAILURE); } /* Display list of retrieved groups, along with group names */ fprintf(stderr, "ngroups = %d\n", ngroups); for (j = 0; j < ngroups; j++) { printf("%d", groups[j]); gr = getgrgid(groups[j]); if (gr != NULL) printf(" (%s)", gr->gr_name); printf("\n"); } exit(EXIT_SUCCESS); }
 
SEE ALSO


getgroups(2), setgroups(2), getgrent(3), group(5), passwd(5)
 
COLOPHON


This page is part of release 3.05 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. GNU 2008-07-03 GETGROUPLIST(3)


 Dernières recherches
Man  en anglais Man getgrouplist en anglaisMan  en français Man getgrouplist en français
Man  en anglais Man getgrent_r en anglaisMan  en français Man getgrent_r en français
Man  en anglais Man getent en anglaisMan  en français Man getent en français
Man  en anglais Man getegid en anglaisMan  en français Man getegid en français
Man  en anglais Man getdents en anglaisMan  en français Man getdents en français
Man  en anglais Man getdelim en anglaisMan  en français Man getdelim en français
Man  en anglais Man getcpu en anglaisMan  en français Man getcpu en français
Man  en anglais Man getcontext en anglaisMan  en français Man getcontext en français
Man  en anglais Man getchar en anglaisMan  en français Man getchar en français
Man  en anglais Man getc_unlocked en anglaisMan  en français Man getc_unlocked en français
Man  en anglais Man get_thread_area en anglaisMan  en français Man get_thread_area en français
Man  en anglais Man get_mempolicy en anglaisMan  en français Man get_mempolicy en français
Man  en anglais Man get_current_dir_name en anglaisMan  en français Man get_current_dir_name en français
Man  en anglais Man get en anglaisMan  en français Man get en français
Man  en anglais Man genrsa en anglaisMan  en français Man genrsa en français

 Recherche

Dans ce moteur de recherche, vous pouvez taper directement votre besoin, en une phrase normale, humaine.
Exemple : vous cherchez comment remplacer un mot par un autre dans tous les fichiers d'un certain dossier. Vous pouvez écrire "Comment remplacer un mot par un autre dans tous les fichiers d'un dossier". Le moteur vous ramenera les résultats en fonction de leur pertinence.
Vous pouvez bien sûr ne chercher qu'un seul mot-clé, par exemple "find".
 Toutes les lignes de code
Par popularité
Par fonction
Recherche avancée
 Les logiciels SHELL/SSH
Putty
Astuces Bash
Faire du SHELL avec PHP!
 La doc officielle
Les man Linux en français
Les man Linux en anglais
 Proposer vos bash
Partagez vos lignes!
 Les requêtes
Déposer une requête
Voir/répondre à une requête
 Quelques sites interessants
Bons sites pour apprendre
 Rechercher