Archiv verlassen und diese Seite im Standarddesign anzeigen : Home Verzeichnis ermitteln ...
Environment Variable $HOME !
Gruss
Robert
Wie komm ich da, in C, ran ?
...mit der Funktion [b]getenv[b]...
Thomas
Danke, es klappt.
Ist ein wenig einfacher als der Weg den ich gefunden habe ...
MfG Ing0s
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
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
$HOME sollte immer richtig gesetzt sein, wenn das nicht der Fall ist, stimmt was am System nicht!
Robert
$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.)
// 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);
}
Wow, was für eine Resonanz !!
Danke, jetzt habe ich ja ein paar lösungen ...
MfG Ing0s
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.