#include <grp.h>


/*
 
 유닉스에서는 그룹에 관한 정보를 /etc/group 파일에 별도로 저장한다.
 사용자가 속한 그룹 중 /etc/passwd 파일의 GID 항목에 지정된 그룹이 기본 그룹이며,
 2차 그룹은 /etc/group 파일에서 지정한다.
 */

int main(void) {
    
    //etc/group파일을 읽어오기 위한 그룹구조체
    struct group *grp;
    int n;
    
    //adm 그룹의 정보를 검색한다.
    grp = getgrnam("adm");
    printf("Group Name : %s\n", grp->gr_name);
    printf("GID : %d\n", (int)grp->gr_gid);

    //group 구조체의 gr_mem 항목이 배열이므로 반복문을 이용해서 출력
    n = 0;
    printf("Members : ");
    
    while (grp->gr_mem[n] != NULL)
        printf("%s ", grp->gr_mem[n++]);
    printf("\n");

    return 0;
}