darryl@lemuria.MV.COM (Darryl Wagoner) (08/19/90)
This is a quick and dirty program to display the posix groups that you are a member of. Enjoy #!/bin/sh # shar: Shell Archiver (v1.22) # # Run the following text with /bin/sh to create: # Makefile # groups.c # sed 's/^X//' << 'SHAR_EOF' > Makefile && XCC = cc XCFLAGS = -O X Xgroups: groups.o X $(CC) -s -o groups groups.o -lcposix X X SHAR_EOF chmod 0664 Makefile || echo "restore of Makefile fails" sed 's/^X//' << 'SHAR_EOF' > groups.c && X/****************************************************************/ X/* */ X#ifndef lint Xstatic char *sccsid = "@(#)groups.c 1.3 8/19/90\n@(#)Copyright 1990 Shecora Associates, Inc\n"; X#endif X/* */ X/* This program may be used for any purpose the user see */ X/* fit, except he/she may not remove the copyright */ X/****************************************************************/ X X#define _POSIX_SOURCE X X#include <sys/types.h> X#include <grp.h> X#include <stdio.h> X X Xmain() { X X gid_t groups[20]; X struct group *gname; X int ngrp; X int i; X X ngrp = getgroups(19,groups); X X if (ngrp <= 0 ) { X perror("getgroups"); X exit(1); X } X X for(i=0;i<ngrp;i++) { X gname=getgrgid(groups[i]); X if (gname == NULL) X printf("unknown_grp_%d ",groups[i]); X else X printf("%s ",gname->gr_name); X } X printf("\n"); X exit(0); X} SHAR_EOF chmod 0444 groups.c || echo "restore of groups.c fails" exit 0 -- Darryl Wagoner darryl@lemuria.MV.COM or uunet!virgin!lemuria!darryl 12 Oak Hill Road Brookline, NH 03033 Office: 603.672.0736 Home: 603.673.0578