PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Home Verzeichnis ermitteln ...



robert
05-06-2000, 12:08
Environment Variable $HOME !

Gruss

Robert

Ing0s
05-06-2000, 12:10
Wie komm ich da, in C, ran ?

thommy
05-06-2000, 15:58
...mit der Funktion [b]getenv[b]...

Thomas

Ing0s
05-06-2000, 16:52
Danke, es klappt.
Ist ein wenig einfacher als der Weg den ich gefunden habe ...

MfG Ing0s

Ing0s
05-06-2000, 23:12
Hi alle zusammen !!
Ich müßte im Homeverzeichnis des Users, der mein prog ausführt, eine Datei anlegen.

Ich hole mir mit "getlogin" den Name und suche in der passwd das Homeverzeichnis raus.
Gibt es eine einfachere möglichkeit ?

MfG Ing0s

Ing0s
07-06-2000, 10:02
export HOME="nigendwo" und schon geht es nicht mehr ...

Das ist besser als $HOME:

#include <stdio.h>
#include <pwd.h>
#include <unistd.h>
#include <sys/types.h>

int main(){
char a[1000];
printf("%i\n",getpw(getuid(),a));
printf("%s\n",a);
return(0);
}

hat mir ein Freund gezeigt.

MfG Ing0s

robert
08-06-2000, 14:54
$HOME sollte immer richtig gesetzt sein, wenn das nicht der Fall ist, stimmt was am System nicht!

Robert

09-06-2000, 20:48
$HOME ist nicht immer richtig gesetzt!!
es gibt ein tool "su1", das ermoeglicht bei entsprechender configuration
rootbefehle einem xbeliebigen user zugaenglich zu machen.
rufe ich: >su1 bash
dann bin ich zwar root, aber $HOME=crazy!
anderseits denke ich, mann sollte HOME aendern duerfen.
ich hatte mal in einer firma einen recht faulen administrator
da musste ich mir ein homeverzeichnis mit jemand anderem teilen.
jeder von uns hat dann seine HOME-variable aus ein entsprechendes unterverzeichnis gesetzt. deswegen sollte trotzdem noch alles funktionieren.( und hat es auch.)

09-06-2000, 21:02
// laut manpage und linker ist getpw gefaehrlich, es sollte getpwuid
// oder getpwnam verwendet werden

#include <stdio.h>
#include <unistd.h>
#include <pwd.h>

int main()
{
printf("%s\n",getpwuid( getuid())->pw_name);

return(0);
}

Ing0s
15-06-2000, 08:34
Wow, was für eine Resonanz !!
Danke, jetzt habe ich ja ein paar lösungen ...

MfG Ing0s