Provided by: manpages-de-dev_2.5-1_all bug

BEZEICHNUNG

       getenv, secure_getenv - eine Umgebungsvariable abfragen

ÜBERSICHT

       #include <stdlib.h>

       char *getenv(const char *name);

       char *secure_getenv(const char *name);

   Mit Glibc erforderliche 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, außer dass sie in Fällen, in
       denen eine »sichere Ausführung« erforderlich ist, NULL zurückgibt. Sichere Ausführung  ist  nötig,  falls
       eine  der  folgenden  Bedingungen  wahr  war, als das vom aufrufenden Prozess gestartete Programm geladen
       wurde:

       *  Die effektive Benutzer-ID des Prozesses passte nicht zur wirklichen  Benutzer-ID  oder  die  effektive
          Gruppen-ID  passte  nicht zur wirklichen Gruppen-ID. (Üblicherweise resultiert dies aus der Ausführung
          eines Set-User-ID- oder Set-Group-ID-Programms).

       *  Das effektive Capability-Bit war für eine ausführbare Datei nicht gesetzt oder

       *  der Prozess hat eine nicht leere, zulässige Capability gesetzt.

       Sichere Ausführung kann ebenso erforderlich sein, falls dies durch  irgendwelche  Linux-Sicherheitsmodule
       ausgelöst wird.

       Die  Funktion  secure_getenv()  ist  zur Benutzung in Universalbibliotheken gedacht, um Schwachstellen zu
       vermeiden. Diese können  auftreten,  wenn  Set-User-ID-  oder  Set-Group-ID-Programme  versehentlich  der
       Umgebung vertrauen.

RÜCKGABEWERT

       Die  Funktion  getenv()  gibt  einen Zeiger auf den Wert in der Umgebung oder NULL zurück, falls es keine
       Übereinstimmung gibt.

VERSIONEN

       secure_getenv() kam erstmals in Glibc 2.17 vor.

ATTRIBUTE

       Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
       ┌───────────────────────────┬───────────────────────┬─────────────┐
       │ SchnittstelleAttributWert        │
       ├───────────────────────────┼───────────────────────┼─────────────┤
       │ getenv(), secure_getenv() │ Multithread-Fähigkeit │ MT-Safe env │
       └───────────────────────────┴───────────────────────┴─────────────┘

KONFORM ZU

       getenv(): POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.

       secure_getenv() ist eine GNU-Erweiterung.

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 zurück. Der Aufrufende muss sicherstellen, dass diese Zeichenkette sich nicht  ändert,
       da das die Umgebung des Prozesses ändern würde.

       Die  Implementierung  von  getenv()  muss  nicht wiedereintrittsfähig sein. Die Zeichenkette, auf die der
       Rückgabewert der Funktion zeigt, könnte statisch zugewiesen werden und von  einem  anschließenden  Aufruf
       von getenv(), putenv(3), setenv(3) oder unsetenv(3) geändert werden.

       Der  Modus  »sichere  Ausführung« von secure_getenv() wird durch den Schalter AT_SECURE gesteuert, der in
       dem vom Kernel an den Userspace übergebenen Hilfsvektor enthalten ist.

SIEHE AUCH

       clearenv(3), getauxval(3), putenv(3), setenv(3), unsetenv(3), capabilities(7), environ(7)

KOLOPHON

       Diese Seite ist Teil der Veröffentlichung  4.15  des  Projekts  Linux-man-pages.  Eine  Beschreibung  des
       Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden
       sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die  deutsche  Übersetzung  dieser  Handbuchseite wurde von Patrick Rother <krd@gulu.net> und Chris Leick
       <c.leick@vollbio.de> erstellt.

       Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder  neuer
       bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn  Sie  Fehler  in  der  Übersetzung  dieser  Handbuchseite  finden, schicken Sie bitte eine E-Mail an
       <debian-l10n-german@lists.debian.org>.

GNU                                            15. September 2017                                      GETENV(3)