09-27-2008
retrieving all group names with a given group number
hi,
which Unix/C function can i use to retrieve all group names with a particular group id?
The following C code prints out the group id number of a particular group name:
------------------------------------------------------------------------
#include <stdio.h>
#include <grp.h>
int main(int argc, char * argv[]){
struct group * info;
char ** members;
int i=1;
if(argc < 2){
fprintf(stderr, "usage: %s groupname\n", argv[0]);
exit(-1);
}
info = getgrnam(argv[1]);
if(info == NULL){
printf("%s: no such group\n", argv[1]);
}
else{
printf("group name: %s\n", info -> gr_name);
printf("group id number: %d\n", info -> gr_gid);
}
}
------------------------------------------------------------------
% a.out vulcan1
group name: vulcan1
group id number: 15100
% a.out vulcan2
group name: vulcan2
group id number: 15100
% a.out vulcan3
group name: vulcan3
group id number: 15100
///////////////////////////////////////////////////
I'm looking for a C function that returns "vulcan1", "vulcan2", and "vulcan3"
when I pass in the group id of 15100 (there are only 3 groups with group id of 15100).
Thanks
--Andrew
9 More Discussions You Might Find Interesting
1. Solaris
hi folks,
I've been googling for quite some time, but still can't find anything near it...my problem is the following:
for useradministration in our company we are using ssh/sudo, now whenever I try to add users (we have quite a number of users) with useradd -G groupname for secondary group I... (4 Replies)
Discussion started by: poli
4 Replies
2. Shell Programming and Scripting
I have a file in the following format. Groups of data merge together and the group number is indicated above each group.
1
adrf
dfgr
dfg
2
dfgr
dfgr
3
dfef
dfr
fd
4
fgrt
fgr
fgg
5
fgrt
fgr (3 Replies)
Discussion started by: Lucky Ali
3 Replies
3. Shell Programming and Scripting
Hi All
I do have a file like this with 6 columns. Groups of data merge together and the group number is indicated above each group.
1
1 12 26 289 3.2e-027 GCGTATGGCGGC
2 12 26 215 6.7e+006 TTCCACCTTTTG
3 9 26 175 ... (1 Reply)
Discussion started by: Lucky Ali
1 Replies
4. Shell Programming and Scripting
I've this file and need to sort the data in each group
File would look like this ...
cat file1.txt
Reason : ABC
12345-0023
32123-5400
32442-5333
Reason : DEF
42523-3453
23345-3311
Reason : HIJ
454553-0001
I would like to sort each group on the last 4 fileds and print them... (11 Replies)
Discussion started by: prash184u
11 Replies
5. UNIX for Advanced & Expert Users
Hello,
When listing the file systems (using ls -ltr) , if the group names are longer the group name is getting truncated.
Can someone help with the script which would display the truncated group name?
I appreciate if someone could help in this regard. (1 Reply)
Discussion started by: mike12
1 Replies
6. AIX
Hi,
I have a 2 node Cluster. Which is working in active/passive mode (i.e Node#1 is running and when it goes down the Node#2 takes over)
Now there's this requirement that we need a mount point say /test that should be available in active node #1 and when node #1 goes down and node#2 takes... (6 Replies)
Discussion started by: aixromeo
6 Replies
7. Shell Programming and Scripting
/etc/group
tiadm::345:mk789,po312,jo343,ju454,ko453,yx879,iy345,hn453
bin::2:root,daemon
sys::3:root,bin,adm
adm::4:root,daemon
uucp::5:root
/etc/passwd
mk789:x:234:1::/export/home/dummy:/bin/sh
po312:x:234:1::/export/home/dummy:/bin/sh
ju454:x:234:1::/export/home/dummy:/bin/sh... (6 Replies)
Discussion started by: chidori
6 Replies
8. Programming
I'm trying to return only one row with the highest value for PCT_MAX_USED. Any suggestions?
When I add this code, I get the ORA-00937 error.
trunc(max(decode( kbytes_max, 0, 0, (kbytes_alloc/kbytes_max)*100))) pct_max_used
This is the original and returns all rows.
select (select... (3 Replies)
Discussion started by: progkcp
3 Replies
9. Shell Programming and Scripting
As part of some report generation, I've written a script to fetch the values from DB. But, unluckily, for certain Time ranges(1-9.99,10-19.99 etc), I don't have data in DB.
In such cases, I would like to write zero (0) instead of empty. The desired output will be exported to csv file.
... (1 Reply)
Discussion started by: kumar_karpuram
1 Replies
LEARN ABOUT REDHAT
getgrent
GETGRENT(3) Linux Programmer's Manual GETGRENT(3)
NAME
getgrent, setgrent, endgrent - get group file entry
SYNOPSIS
#include <grp.h>
#include <sys/types.h>
struct group *getgrent(void);
void setgrent(void);
void endgrent(void);
DESCRIPTION
The getgrent() function returns a pointer to a structure containing the group information from /etc/group. The first time it is called it
returns the first entry; thereafter, it returns successive entries.
The setgrent() function rewinds the file pointer to the beginning of the /etc/group file.
The endgrent() function closes the /etc/group file.
The group structure is defined in <grp.h> as follows:
struct group {
char *gr_name; /* group name */
char *gr_passwd; /* group password */
gid_t gr_gid; /* group id */
char **gr_mem; /* group members */
};
RETURN VALUE
The getgrent() function returns the group information structure, or NULL if there are no more entries or an error occurs.
ERRORS
ENOMEM Insufficient memory to allocate group information structure.
FILES
/etc/group
group database file
CONFORMING TO
SVID 3, BSD 4.3
SEE ALSO
fgetgrent(3), getgrnam(3), getgrgid(3)
GNU
1993-04-04 GETGRENT(3)