Provided by: manpages-ru-dev_4.27.0-1_all bug

НАИМЕНОВАНИЕ

       getenv, secure_getenv - возвращают значения переменной окружения

БИБЛИОТЕКА

       Стандартная библиотека языка C (libc, -lc)

ОБЗОР

       #include <stdlib.h>

       char *getenv(const char *name);
       char *secure_getenv(const char *name);

   Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

       secure_getenv():
           _GNU_SOURCE

ОПИСАНИЕ

       Функция   getenv()  ищет  в  списке  окружения  переменную  окружения  name  и  возвращает  указатель  на
       соответствующую строку value.

       Специальная функция GNU secure_getenv() работает также как getenv(), но возвращает NULL,  если  требуется
       «безопасное  выполнение». Безопасное выполнение требуется, если верно одно из следующих условий на момент
       загрузки программы вызывающего процесса:

       •  эффективный пользовательский ID процесса не совпадает с реальным пользовательским ID  или  эффективный
          групповой ID процесса не совпадает с реальным групповым ID (обычно в результате выполнения программы с
          установленным битом set-user-ID или set-group-ID);

       •  у исполняемого файла установлен эффективный мандатный бит; или

       •  у процесса имеется непустой ограничивающий набор мандатов.

       Безопасное выполнение также может требоваться некоторыми модулями безопасности Linux.

       Функция  secure_getenv()  предназначена  для библиотек общего назначения с целью недопущения уязвимостей,
       которые могли бы возникнуть, если программы с битом set-user-ID или set-group-ID ненамеренно доверяли  бы
       окружению.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       Функция getenv() возвращает указатель на значение в окружении или NULL, если ничего не найдено.

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).
       ┌──────────────────────────────────────────────────────────────────┬──────────────────────┬─────────────┐
       │ ИнтерфейсАтрибутЗначение    │
       ├──────────────────────────────────────────────────────────────────┼──────────────────────┼─────────────┤
       │ getenv(), secure_getenv()                                        │ Безвредность в нитях │ MT-Safe env │
       └──────────────────────────────────────────────────────────────────┴──────────────────────┴─────────────┘

СТАНДАРТЫ

       getenv()
              C11, POSIX.1-2008.

       secure_getenv()
              GNU.

ИСТОРИЯ

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

       secure_getenv()
              glibc 2.17.

ПРИМЕЧАНИЯ

       Строки в списке окружения имеют вид имя=значение.

       В  типичной  реализации  getenv() возвращает указатель на строку в списке окружения. Вызывающий не должен
       изменять эту строку, так как это изменить окружение процесса.

       Реализации getenv()  не  требуется  быть  реентерабельной.  Строка,  указанная  в  возвращаемом  значение
       getenv(),  может  быть  выделена статически и может изменяться после вызова getenv() с помощью putenv(3),
       setenv(3) или unsetenv(3).

       Режим «безопасного выполнения» в secure_getenv() управляется флагом AT_SECURE  вспомогательного  вектора,
       передаваемого из ядра в пользовательское пространство.

СМОТРИТЕ ТАКЖЕ

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

ПЕРЕВОД

       Русский  перевод  этой  страницы  руководства  разработал(и) Azamat Hackimov <azamat.hackimov@gmail.com>,
       Dmitry  Bolkhovskikh   <d20052005@yandex.ru>,   Vladislav   <ivladislavefimov@gmail.com>,   Yuri   Kozlov
       <yuray@komyakino.ru>, Иван Павлов <pavia00@gmail.com> и Kirill Rekhov <krekhov.dev@gmail.com>

       Этот  перевод является свободной программной документацией; он распространяется на условиях общедоступной
       лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html  версии  3  или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если  вы  обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом
       разработчику(ам)  по  его(их)  адресу(ам)  электронной  почты  или  по   адресу   списка рассылки русских
       переводчиков.

Справочные страницы Linux 6.9.1                   2 мая 2024 г.                                        getenv(3)