Alle dateien eines Verzeichnisses auflisten, die zur Gruppe "uucp" gehören?
- 
					
					
					
					
Hi,
ich seh den Wald vor lauter "google" nich mehr.
ich mache...
curdir = opendir( dirname ); if( curdir == NULL) { cout<< "directory not open... "<<endl; return 0; } ... while(files = readdir(curdir)){ ... int ret = stat(files->d_name, &s); printf(" File uid : %u \n", s.st_uid); printf(" File gid : %u \n", s.st_gid ); ... } closedir(curdir);ich habe dann diesen Code im Internet gefunden, der Gruppen listet...
#include<grp.h> #include<sys/types.h> main() { struct group *data; int i; while((data= getgrent())!=0){ i=0; printf(“%s:%s:%d:”,data->gr_name,data->gr_passwd,data->gr_gid); while(data->gr_mem[i])printf(“%s,”,data->gr_mem[i++]); printf(“\n”); } endgrent(); }liefert ...
root
0:root,
bin
1:root,bin,daemon,
daemon
2:root,bin,daemon,
sys
3:root,bin,adm,
adm
4:root,adm,daemon
tty
5
disk
6:root
lp
7:daemon,lp
mem
8
kmem
9:
wheel
10:root
mail
12:mail
news
13:news
uucp
14:uucp
man
15:
games
20
gopher
30
dip
40
ftp
50
nobody
99welcher Gruppen id entpricht den nach meinem Code "uucp" oder "root"?
Mach ich das überhaupt richtig?Gruß
Franky
 - 
					
					
					
					
Ich würde es einmal mit <pwd.h> versuchen.
struct passwd *uucp = getpwnam("uucp"); uid_t user_id_von_uucp = uucp->pw_uid; gid_t group_id_von_uucp = uucp->pw_gid;Über das Passwort musst du dir keine Sorgen machen, das wird bei "neuen" Systemen nicht übergeben.
 - 
					
					
					
					
Hi,
ich habe das mal gemacht...
struct passwd *uucp = getpwnam("uucp"); uid_t user_id_von_uucp = uucp->pw_uid; gid_t group_id_von_uucp = uucp->pw_gid; cout << "user_id_von_uucp: " << user_id_von_uucp << endl; cout << "group_id_von_uucp: " << user_id_von_uucp << endl; struct group * mygrp = getgrgid( s.st_gid ); cout << " mygrp (gid): " << mygrp->gr_gid << endl; struct passwd * mypwd = getpwuid( s.st_uid ); cout << " mypwd (uid): " << mypwd->pw_uid << endl; cout << " mypwd (gid): " << mypwd->pw_gid << endl;Wenn ich das mal mit "/etc/passwd" oder mit "/etc/group" vergleiche...
in allen Fällen ist der Konqueror besser als ich. Ich kriege für jede Datei nur meine ID's und nicht die Grupen ID's die der Konqueror anzeigen kann.Gruß
Franky