Rechercher une page de manuel
getgrouplist
Langue: ja
Version: 2003-11-18 (openSuse - 09/10/07)
Section: 3 (Bibliothèques de fonctions)
̾Á°
getgrouplist - ¥æ¡¼¥¶¤¬½ê°¤¹¤ë¥°¥ë¡¼¥×¤Î¥ê¥¹¥È½ñ¼°
#include <grp.h>
int getgrouplist(const char *user, gid_t group, gid_t *groups, int *ngroups);
ÀâÌÀ
getgrouplist() ´Ø¿ô¤Ï user ¤¬½ê°¤¹¤ëÁ´¤Æ¤Î¥°¥ë¡¼¥×¤ò¥°¥ë¡¼¥×¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÇÄ´¤Ù¤ë¡£ ¥°¥ë¡¼¥× ID *ngroups ¤Þ¤Ç¤ËÂбþ¤¹¤ë¥°¥ë¡¼¥×¤¬¡¢ÇÛÎó groups ¤Ë³ÊǼ¤µ¤ì¤ë; ¤³¤Î´Ø¿ô¤«¤é¤ÎÊÖ¤êÃͤϡ¢¼ÂºÝ¤Ë³ÊǼ¤µ¤ì¤¿¥°¥ë¡¼¥× ID ¤Î¿ô¤Ç¤¢¤ë¡£ ¥°¥ë¡¼¥× group ¤Ï getgrouplist() ¤ÇÊÖ¤µ¤ì¤ë¥°¥ë¡¼¥×¤Î¥ê¥¹¥È¤Ë¼«Æ°Åª¤Ë´Þ¤á¤é¤ì¤ë¡£ÊÖ¤êÃÍ
¸«¤Ä¤«¤Ã¤¿Á´¤Æ¤Î¥°¥ë¡¼¥×¤Î¿ô¤è¤ê *ngroups ¤¬¾®¤µ¤¤¾ì¹ç¡¢ getgrouplist() ¤ÏÃÍ `-1' ¤òÊÖ¤¹¡£ À®¸ù¤·¤¿¾ì¹ç¤â¡¢¼ºÇÔ¤·¤¿¾ì¹ç¤â¡¢¼ÂºÝ¤Î¥°¥ë¡¼¥×¤Î¿ô¤¬ *ngroups ¤Ë³ÊǼ¤µ¤ì¤ë¡£¥Ð¡¼¥¸¥ç¥ó
¤³¤Î´Ø¿ô¤Ï glibc 2.2.4 ¤«¤é¸ºß¤¹¤ë¡£½àµò
¤³¤Î´Ø¿ô¤ÏÈóɸ½à¤Ç¤¢¤ë¡£¤Û¤È¤ó¤É¤Î BSD ¤Ë¸ºß¤¹¤ë¡£¥Ð¥°
¤³¤Î´Ø¿ô¤Î glibc 2.3.2 ¤Ç¤Î¼ÂÁõ¤Ï´Ö°ã¤¨¤Æ¤¤¤ë: ¼ÂºÝ¤Î¥°¥ë¡¼¥×¤Î¿ô¤¬ *ngroups ¤è¤êÂ礤¤¾ì¹ç¡¢¥á¥â¥ê¤ò¾å½ñ¤¤·¤Æ¤·¤Þ¤¦¡£Îã
/* ¤³¤ì¤Ï glibc 2.3.2 ¤Ç¤Ï¥¯¥é¥Ã¥·¥å¤¹¤ë¡£*/ #include <stdio.h> #include <stdlib.h> #include <grp.h> #include <pwd.h> int main(void) { int i, ng = 0; char *user = "who"; /* ¥æ¡¼¥¶Ì¾¤ò¤³¤³¤Ë½ñ¤¯¡£ */ gid_t *groups = NULL; struct passwd *pw = getpwnam(user); if (pw == NULL) exit(EXIT_SUCCESS); 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\n", groups[i]); exit(EXIT_SUCCESS); }
´ØÏ¢¹àÌÜ
getgroups(3), setgroups(3)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre