getenv(3) Library Functions Manual getenv(3) BEZEICHNUNG getenv, secure_getenv - eine Umgebungsvariable abfragen BIBLIOTHEK Standard-C-Bibliothek (libc, -lc) UBERSICHT #include char *getenv(const char *name); char *secure_getenv(const char *name); Mit Glibc erforderliche Feature-Test-Makros (siehe feature_test_macros(7)): secure_getenv(): _GNU_SOURCE BESCHREIBUNG Die Funktion getenv() sucht in der Liste der Umgebungsvariablen die Umgebungsvariable name und gibt einen Zeiger auf die passende Zeichenkette Wert. Die GNU-spezifische Funktion secure_getenv() ist mit getenv() identisch, ausser dass sie in Fallen, in denen eine >>sichere Ausfuhrung<< erforderlich ist, NULL zuruckgibt. Sichere Ausfuhrung ist notig, falls eine der folgenden Bedingungen wahr war, als das vom aufrufenden Prozess gestartete Programm geladen wurde: o Die effektive Benutzerkennung des Prozesses passte nicht zur realen Benutzerkennung oder die effektive Gruppenkennung passte nicht zur realen Gruppenkennung. (Ublicherweise resultiert dies aus der Ausfuhrung eines Set-User-ID- oder Set-Group-ID-Programms). o Das effektive Capability-Bit war fur eine ausfuhrbare Datei nicht gesetzt oder o der Prozess hat eine nicht leere, zulassige Capability gesetzt. Sichere Ausfuhrung kann ebenso erforderlich sein, falls dies durch irgendwelche Linux-Sicherheitsmodule ausgelost wird. Die Funktion secure_getenv() ist zur Benutzung in Universalbibliotheken gedacht, um Schwachstellen zu vermeiden. Diese konnen auftreten, wenn Set-User-ID- oder Set-Group-ID-Programme versehentlich der Umgebung vertrauen. RUCKGABEWERT Die Funktion getenv() gibt einen Zeiger auf den Wert in der Umgebung oder NULL zuruck, falls es keine Ubereinstimmung gibt. ATTRIBUTE Siehe attributes(7) fur eine Erlauterung der in diesem Abschnitt verwandten Ausdrucke. +----------------------------+-------------------------+---------------+ |Schnittstelle | Attribut | Wert | +----------------------------+-------------------------+---------------+ |getenv(), secure_getenv() | Multithread-Fahigkeit | MT-Sicher env | +----------------------------+-------------------------+---------------+ STANDARDS getenv() C11, POSIX.1-2008. secure_getenv() GNU. GESCHICHTE getenv() POSIX.1-2001, C89, C99, SVr4, 4.3BSD. secure_getenv() Glibc 2.17. ANMERKUNGEN Die Zeichenketten in der Liste der Umgebungsvariablen haben das Format Name=Wert. Wie normalerweise implementiert, gibt getenv() einen Zeiger auf eine Zeichenkette innerhalb der Liste der Umgebungsvariablen zuruck. Der Aufrufende muss sicherstellen, dass diese Zeichenkette sich nicht andert, da das die Umgebung des Prozesses andern wurde. Die Implementierung von getenv() muss nicht wiedereintrittsfahig sein. Die Zeichenkette, auf die der Ruckgabewert der Funktion zeigt, konnte statisch zugewiesen werden und von einem anschliessenden Aufruf von getenv(), putenv(3), setenv(3) oder unsetenv(3) geandert werden. Der Modus >>sichere Ausfuhrung<< von secure_getenv() wird durch den Schalter AT_SECURE gesteuert, der in dem vom Kernel an den Userspace ubergebenen Hilfsvektor enthalten ist. SIEHE AUCH clearenv(3), getauxval(3), putenv(3), setenv(3), unsetenv(3), capabilities(7), environ(7) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Patrick Rother und Chris Leick erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Linux man-pages 6.06 31. Oktober 2023 getenv(3)