Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
C und User

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - C
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
tkortkamp



Anmeldungsdatum: 08.04.2001
Beiträge: 143
Wohnort: Bremen

BeitragVerfasst am: 08. Mai 2001 15:51   Titel: C und User

Hi,
ich bin auf der Suche nach Funktion, mit der man das Home-Verzeichnis eines Benutzes herraus finden kann.
cu,
Tobias
_________________
dude i'm pretty damn sure you could script somebody back to life
 
Benutzer-Profile anzeigen Private Nachricht senden

tkortkamp



Anmeldungsdatum: 08.04.2001
Beiträge: 143
Wohnort: Bremen

BeitragVerfasst am: 08. Mai 2001 15:56   Titel: Re: C und User

Hi!
Upps, habe das erste Mal nicht richtig in die Info-Seite der glibc geguckt. Wenn es interesst hier der Code:
code:

#include <grp.h>
#include <pwd.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>


int main (int argc, char *argv[])
{
uid_t me;
struct passwd *my_passwd;

/* Hole Information über User. */
me = getuid ();
my_passwd = getpwuid (me);
if (!my_passwd)
{
printf ("Couldn't find out about user %d.
", (int) me);
exit (EXIT_FAILURE);
}

/* Ausgeben der Informationen. */
printf ("Heimatverzeichnis des Users %s.
", my_passwd->pw_dir);
return 0;
}



cu,
Tobias
_________________
dude i'm pretty damn sure you could script somebody back to life
 
Benutzer-Profile anzeigen Private Nachricht senden

tkortkamp



Anmeldungsdatum: 08.04.2001
Beiträge: 143
Wohnort: Bremen

BeitragVerfasst am: 08. Mai 2001 15:57   Titel: Re: C und User

doppelte Nachricht

Zuletzt bearbeitet von tkortkamp am 08. Mai 2001 15:57, insgesamt 1-mal bearbeitet
 
Benutzer-Profile anzeigen Private Nachricht senden

Weissi
Gast





BeitragVerfasst am: 11. Mai 2001 20:55   Titel: Re: C und User

wie wärs mit getenv("$HOME");?
 

tkortkamp



Anmeldungsdatum: 08.04.2001
Beiträge: 143
Wohnort: Bremen

BeitragVerfasst am: 13. Mai 2001 13:26   Titel: Re: C und User

Und was ist wenn $HOME nicht gesetzt ist oder falsch gesetzt ist (unwahrscheinlich ich weiß, aber dennoch möglich).
 
Benutzer-Profile anzeigen Private Nachricht senden

Weissi
Gast





BeitragVerfasst am: 14. Mai 2001 6:42   Titel: Re: C und User

Dann gibbst du ne Fehlermeldund, dass er bitte $HOME setzen sollte (kannst ja für die (ba)sh unkundigen noch n Beispiel nachlegen) ;)

PS: Ich habs auch mal so gemacht, das funzt, und das machen andere Programme ja auch so.

PS2: Ich denke $HOME wird immer gesetzt sein, und falls es anders als normal gesetzt ist, wir das einer gemacht haben, der weiss was er tut Wink
 

tkortkamp



Anmeldungsdatum: 08.04.2001
Beiträge: 143
Wohnort: Bremen

BeitragVerfasst am: 14. Mai 2001 14:03   Titel: Re: C und User

Damit kann übrigens auch nicht nur das Heimatverzeichnis sondern auch den Namen, die Standard-Shell, die Gruppe, die Gruppenmitglieder und die UID herrausfinden.
Einfach das hier zu obigem Code hinzufügen:
code:

/* Print the information. */
printf ("Ich bin %s.
", my_passwd->pw_gecos);
printf ("Benutzername: %s.
", my_passwd->pw_name);
printf ("Meine UID ist %d.
", (int) (my_passwd->pw_uid));
printf ("Meine Shell ist %s.
", my_passwd->pw_shell);
/* Infos über Gruppe*/
my_group = getgrgid (my_passwd->pw_gid);
if (!my_group)
{
printf ("Konnte nicht über die Gruppe finden %d.
",
(int) my_passwd->pw_gid);
exit (EXIT_FAILURE);
}

printf ("Meine Gruppe ist %s (%d).
", my_group->gr_name, (int) (my_passwd->pw_gid));
printf ("Die Mitglieder dieser Gruppe sind:
");
members = my_group->gr_mem;
while (*members)
{ printf (" %s
", *(members)); members++; }


Diese Methode ist also besser, wenn man viel über den Benutzer finden möchte.

cu,
Tobias
_________________
dude i'm pretty damn sure you could script somebody back to life


Zuletzt bearbeitet von tkortkamp am 14. Mai 2001 14:03, insgesamt 1-mal bearbeitet
 
Benutzer-Profile anzeigen Private Nachricht senden

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - C Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy